diff --git a/doc/Dependencies.txt b/doc/Dependencies.txt
index c192ed7038bac63eb9ebbb7b24d9a118de4990d6..7abaaeb2ca2cf1b18d16d8eb8cc39742f6c8ed02 100644
--- a/doc/Dependencies.txt
+++ b/doc/Dependencies.txt
@@ -7,7 +7,7 @@ Dependencies to compile SFLphone daemon
 `--------------------`----------`-----------------------------------------------------
 Program              Version    Notes
 --------------------------------------------------------------------------------------
-libiax2              0.2.3      http://svncommunity.digium.com/view/libiax2/trunk/[svn repos] SFLphone maintains it's own copy
+libiax2              0.2.3      http://svncommunity.digium.com/view/libiax2/trunk/[svn repos] Source code included in the git repository.  
 Common C++2          1.3.21     http://sourceforge.net/projects/cplusplus/[website]
 ccRTP                1.3.5      http://sourceforge.net/projects/cplusplus/[website]
 libeXosip2 **        2.2.2      http://savannah.nongnu.org/projects/exosip/[website]
@@ -16,9 +16,8 @@ portaudio            v19        http://www.portaudio.com/[website]
 portaudio C++ binds.            http://www.portaudio.com/archives/pa_snapshot_v19.tar.gz[archive]
 libsamplerate        0.1.2      http://www.mega-nerd.com/SRC/[website]
 libdbus-glib         0.73       Packaged with your favorite distribution.
-dbus-c++-1           0.5        See Build notes.
+dbus-c++-1           0.5        Source code included in the git repository. See Build notes. 
 libexpat1            1.95.8     Packaged with your favorite distribution.
-libgsm1		     1.0.10     Ubuntu package - Necessary to use GSM codec.
 --------------------------------------------------------------------------------------
 
 
@@ -35,3 +34,11 @@ dbus-glib            0.35
 gnome-common
 --------------------------------------------------------------------------------------
 
+Dependencies to use audio codecs
+------------------------------------
+
+`--------------------`----------`-----------------------------------------------------
+Program              Version    Notes
+--------------------------------------------------------------------------------------
+libgsm1		     1.0.10	Standard package - Necessary to use GSM codec
+--------------------------------------------------------------------------------------
diff --git a/src/audio/codecDescriptor.cpp b/src/audio/codecDescriptor.cpp
index 89292095d8e2fe30632487fc21ea0c1a06e0dfaa..feb00971b0eed5e804cfcec46f832478d10d22a5 100644
--- a/src/audio/codecDescriptor.cpp
+++ b/src/audio/codecDescriptor.cpp
@@ -32,12 +32,12 @@ CodecDescriptor::CodecDescriptor()
   // Default codecs
   _codecMap[PAYLOAD_CODEC_ULAW] = "PCMU";
   _codecMap[PAYLOAD_CODEC_GSM] = "GSM";
-  //_codecMap[PAYLOAD_CODEC_ALAW] = "PCMA";
+  _codecMap[PAYLOAD_CODEC_ALAW] = "PCMA";
 #ifdef HAVE_SPEEX
   _codecMap[PAYLOAD_CODEC_SPEEX] = new CodecSpeex(PAYLOAD_CODEC_SPEEX); // TODO: this is a variable payload!
 #endif
 // theses one are not implemented yet..
-  _codecMap[PAYLOAD_CODEC_ILBC] = "iLBC";
+//  _codecMap[PAYLOAD_CODEC_ILBC_20] = "iLBC";
 //  _codecMap[PAYLOAD_CODEC_SPEEX] = Speex();
 }
 
@@ -47,7 +47,7 @@ CodecDescriptor::init()
 	_codecMap[PAYLOAD_CODEC_ULAW] = "PCMU";
 	_codecMap[PAYLOAD_CODEC_GSM] = "GSM";
 	_codecMap[PAYLOAD_CODEC_ALAW] = "PCMA";
-	_codecMap[PAYLOAD_CODEC_ILBC] = "iLBC";
+//	_codecMap[PAYLOAD_CODEC_ILBC_20] = "iLBC";
 }
 
 std::string&
@@ -96,4 +96,51 @@ CodecDescriptor::addCodec(CodecType payload)
 {
 }
 
+double 
+CodecDescriptor::getBitRate(CodecType payload)
+{
+  switch(payload){
+    case PAYLOAD_CODEC_ULAW | PAYLOAD_CODEC_ALAW:
+      return 64;
+    case PAYLOAD_CODEC_GSM:
+      return 13.3;
+    case PAYLOAD_CODEC_ILBC_20:
+      return 15.2;
+    case PAYLOAD_CODEC_ILBC_30:
+      return 15.2;
+
+  }
+  return -1;
+}
+
+double 
+CodecDescriptor::getBandwidthPerCall(CodecType payload)
+{
+  switch(payload){
+    case PAYLOAD_CODEC_ULAW | PAYLOAD_CODEC_ALAW:
+      return 80;
+    case PAYLOAD_CODEC_GSM:
+      return 28.6;
+    case PAYLOAD_CODEC_ILBC_20:
+      return 30.8;
+  }
+  return -1;
+
+}
+
+int
+CodecDescriptor::getSampleRate(CodecType payload)
+{
+  switch(payload){
+    case PAYLOAD_CODEC_ULAW | PAYLOAD_CODEC_ALAW | PAYLOAD_CODEC_GSM | PAYLOAD_CODEC_ILBC_20:
+      return 8000;
+  }
+  return -1;
+}
+
+
+
+
+
+
 
diff --git a/src/audio/codecDescriptor.h b/src/audio/codecDescriptor.h
index 7b574b50cf83008bcbf7df254e23f835374b4b63..7dfac68acef862faf236691c8fa6939af17f9eaa 100644
--- a/src/audio/codecDescriptor.h
+++ b/src/audio/codecDescriptor.h
@@ -38,7 +38,8 @@ typedef enum {
   PAYLOAD_CODEC_ALAW = 8,
 // http://www.ietf.org/rfc/rfc3952.txt
 // 97 iLBC/8000
-  PAYLOAD_CODEC_ILBC = 97,
+  PAYLOAD_CODEC_ILBC_20 = 97,
+  PAYLOAD_CODEC_ILBC_30 = 98,
 // http://www.speex.org/drafts/draft-herlein-speex-rtp-profile-00.txt
 //  97 speex/8000
 // http://support.xten.com/viewtopic.php?p=8684&sid=3367a83d01fdcad16c7459a79859b08e
@@ -85,11 +86,34 @@ public:
   void removeCodec(CodecType payload);
 
  /**
-  * Add a codec in the list
+  * Add a codec in the list.
   * @param payload the codec to add
   */
   void addCodec(CodecType payload);
 
+ /**
+  * Get the bit rate of the specified codec.
+  * @param payload The payload of the codec
+  * @return double The bit rate 
+  */  
+  double getBitRate(CodecType payload);
+
+ /**
+  * Get the bandwidth for one call with the specified codec.
+  * The value has been calculated with the further information:
+  * RTp communication, SIP protocol (the value with IAX2 is very close), no RTCP, one simultaneous call, for one channel (the incoming one).
+  * @param payload The payload of the codec 
+  * @return double The bandwidth
+  */
+  double getBandwidthPerCall(CodecType payload);
+
+
+ /**
+  * Get the clock rate of the specified codec
+  * @param payload The payload of the codec
+  * @return int The clock rate of the specified codec
+  */
+  int getSampleRate(CodecType payload);
 private:
   CodecMap _codecMap;
 };
diff --git a/src/iaxcall.cpp b/src/iaxcall.cpp
index 7a58d91caa8f960bf35ae095b43d42e02439ea1a..e522e028a1466e9c785e3d04f8d51a38a238e1ef 100644
--- a/src/iaxcall.cpp
+++ b/src/iaxcall.cpp
@@ -42,7 +42,7 @@ IAXCall::setFormat(int format)
   case AST_FORMAT_ALAW:
     setAudioCodec(_codecMap.getCodec(PAYLOAD_CODEC_ALAW)); break;
   case AST_FORMAT_ILBC:
-    setAudioCodec(_codecMap.getCodec(PAYLOAD_CODEC_ILBC)); break;
+    setAudioCodec(_codecMap.getCodec(PAYLOAD_CODEC_ILBC_20)); break;
   case AST_FORMAT_SPEEX:
     setAudioCodec(_codecMap.getCodec(PAYLOAD_CODEC_SPEEX)); break;*/
   case AST_FORMAT_ULAW:
@@ -52,7 +52,7 @@ IAXCall::setFormat(int format)
   case AST_FORMAT_ALAW:
     setAudioCodec(PAYLOAD_CODEC_ALAW); break;
   case AST_FORMAT_ILBC:
-    setAudioCodec(PAYLOAD_CODEC_ILBC); break;
+    setAudioCodec(PAYLOAD_CODEC_ILBC_20); break;
   case AST_FORMAT_SPEEX:
     setAudioCodec(PAYLOAD_CODEC_SPEEX); break;
   default:
@@ -77,7 +77,7 @@ IAXCall::getSupportedFormat()
       format |= AST_FORMAT_GSM;   break;
     case PAYLOAD_CODEC_ALAW:
       format |= AST_FORMAT_ALAW;  break;
-    case PAYLOAD_CODEC_ILBC:
+    case PAYLOAD_CODEC_ILBC_20:
       format |= AST_FORMAT_ILBC;  break;
     case PAYLOAD_CODEC_SPEEX:
       format |= AST_FORMAT_SPEEX; break;
@@ -105,7 +105,7 @@ IAXCall::getFirstMatchingFormat(int needles)
       format = AST_FORMAT_GSM;   break;
     case PAYLOAD_CODEC_ALAW:
       format = AST_FORMAT_ALAW;  break;
-    case PAYLOAD_CODEC_ILBC:
+    case PAYLOAD_CODEC_ILBC_20:
       format = AST_FORMAT_ILBC;  break;
     case PAYLOAD_CODEC_SPEEX:
       format = AST_FORMAT_SPEEX; break;