[Home]

Summary:ASTERISK-11994: Always transcoding G729 so slin
Reporter:delvar (delvar)Labels:
Date Opened:2008-05-08 05:04:59Date Closed:2011-06-07 14:07:26
Priority:MinorRegression?No
Status:Closed/CompleteComponents:Codecs/General
Versions:Frequency of
Occurrence
Related
Issues:
Environment:Attachments:
Description:Im using asterisk 1.4.19 and have noticed that when a user agent is using a codec other than alaw/ulaw it ends up transcoding to slin for both channels even though both legs of the call are the same codec.
this is most promemnet when using G729 because it uses 2 licances per call.
below is a sample call to our sip provider and the show channels for each channel.
in 1.2 we didn't have this issue.

****** ADDITIONAL INFORMATION ******

 == Spawn extension (msg-test-001, 447818621852, 1) exited non-zero on 'SIP/3498-b700b1a0'
   -- Executing [447818621852@msg-test-001:1] Dial("SIP/3498-b7008680", "SIP/pstn-provider/447818621852") in new stack
   -- Called pstn-provider/447818621852
   -- SIP/pstn-provider-081d6358 is making progress passing it to SIP/3498-b7008680
   -- SIP/pstn-provider-081d6358 answered SIP/3498-b7008680
pbx*CLI> show channel
SIP/pstn-provider-081d6358  SIP/3498-b7008680
pbx*CLI> show channel SIP/pstn-provider-081d6358
-- General --
          Name: SIP/pstn-provider-081d6358
          Type: SIP
      UniqueID: pbxa-1210240157.9
     Caller ID: 447818621852
Caller ID Name: (N/A)
   DNID Digits: (N/A)
         State: Up (6)
         Rings: 0
 NativeFormats: 0x100 (g729)
   WriteFormat: 0x40 (slin)
    ReadFormat: 0x40 (slin)
WriteTranscode: Yes
 ReadTranscode: Yes
1st File Descriptor: 23
     Frames in: 345
    Frames out: 339
Time to Hangup: 0
  Elapsed Time: 0h0m11s
 Direct Bridge: SIP/3498-b7008680
Indirect Bridge: SIP/3498-b7008680
--   PBX   --
       Context: default
     Extension:
      Priority: 1
    Call Group: 0
  Pickup Group: 0
   Application: Bridged Call
          Data: SIP/3498-b7008680
   Blocking in: ast_waitfor_nandfds
     Variables:
BRIDGEPEER=SIP/3498-b7008680
DIALEDPEERNUMBER=pstn-provider/447818621852
SIPCALLID=59ad9ef06e81668c317146a433edd7f7@77.240.48.xxx

 CDR Variables:
level 1: clid=3498
level 1: src=3498
level 1: dst=s
level 1: dcontext=default
level 1: channel=SIP/pstn-provider-081d6358
level 1: start=2008-05-08 10:49:17
level 1: answer=2008-05-08 10:49:22
level 1: end=2008-05-08 10:49:22
level 1: duration=0
level 1: billsec=0
level 1: disposition=ANSWERED
level 1: amaflags=DOCUMENTATION
level 1: uniqueid=pbxa-1210240157.9

pbx*CLI>


pbx*CLI> show channel SIP/3498-b7008680
-- General --
          Name: SIP/3498-b7008680
          Type: SIP
      UniqueID: pbxa-1210240157.8
     Caller ID: 3498
Caller ID Name: 3498
   DNID Digits: 447818621852
         State: Up (6)
         Rings: 0
 NativeFormats: 0x100 (g729)
   WriteFormat: 0x40 (slin)
    ReadFormat: 0x40 (slin)
WriteTranscode: Yes
 ReadTranscode: Yes
1st File Descriptor: 17
     Frames in: 2012
    Frames out: 2004
Time to Hangup: 0
  Elapsed Time: 0h0m44s
 Direct Bridge: SIP/pstn-provider-081d6358
Indirect Bridge: SIP/pstn-provider-081d6358
--   PBX   --
       Context: msg-test-001
     Extension: 447818621852
      Priority: 1
    Call Group: 0
  Pickup Group: 0
   Application: Dial
          Data: SIP/pstn-provider/447818621852
   Blocking in: ast_waitfor_nandfds
     Variables:
BRIDGEPEER=SIP/pstn-provider-081d6358
DIALEDPEERNUMBER=pstn-provider/447818621852
DIALEDPEERNAME=SIP/pstn-provider-081d6358
SIPCALLID=3c2755c9de2b-l3pygrd7ynv0@snom360-000413232F51
SIPUSERAGENT=snom360/6.5.17
SIPDOMAIN=pbx.mydomain.local
SIPURI=sip:3498@192.168.246.72:2054

 CDR Variables:
level 1: clid="3498" <3498>
level 1: src=3498
level 1: dst=447818621852
level 1: dcontext=msg-test-001
level 1: channel=SIP/3498-b7008680
level 1: dstchannel=SIP/pstn-provider-081d6358
level 1: lastapp=Dial
level 1: lastdata=SIP/pstn-provider/447818621852
level 1: start=2008-05-08 10:49:17
level 1: answer=2008-05-08 10:49:22
level 1: end=2008-05-08 10:49:22
level 1: duration=0
level 1: billsec=0
level 1: disposition=ANSWERED
level 1: amaflags=DOCUMENTATION
level 1: uniqueid=pbxa-1210240157.8

telth95*CLI> show g729
2/2 encoders/decoders of 50 licensed channels are currently in use
Comments:By: delvar (delvar) 2008-05-08 05:44:45

here is my cut down sip.conf,

[general]
context=default
allowoverlap=no
allowtransfer=no
bindport=5060
bindaddr=77.240.xxx.xxx
srvlookup=no
disallow=all
allow=alaw
allow=ulaw
allow=gsm
allow=ilbc
allow=lpc10
allow=speex
allow=adpcm
allow=g729
allow=g723
relaxdtmf=yes
promiscredir=no
dtmfmode=auto
canreinvite=no

[authentication]

[pstn-provider]
type=peer
username=USERNAME
secret=SECRET
insecure=port,invite
host=213.166.xxx.xxx

[3498]
username=USERNAME
secret=SECRET
type=friend
context=msg-test-001
nat=yes
host=dynamic

By: Russell Bryant (russell) 2008-05-08 09:39:50

are you doing any kind of call recording?

By: delvar (delvar) 2008-05-08 10:35:12

nope.. the dialplan is
[msg-test-001]
exten => _X.,1,Dial(SIP/pstn-provider/${EXTEN})

but looking into it, the PSTN provider doesnt support RFC2833, and looking at the sip.conf comments when dtmfmode=auto if the far end doesnt support rfc2833 then it fails back to inband.

would this cause the extra transcoding seen here?, if so then ill chase up the provider and see about fixing it :)

By: Jason Parker (jparker) 2008-05-08 12:15:10

Yes, inband DTMF requires audio in slin, which would require transcoding (1 decode and 1 encode).  It is recommended to use RFC2833, but as you stated, your provider doesn't support that.  Another option would be to try using dtmfmode=info

Closing, as this isn't really an issue with Asterisk.