[Asterisk-Dev] Codec not negotiating

Michael Giagnocavo mgg-digium at atrevido.net
Mon Apr 4 11:55:41 MST 2005


I'm not even sure if there will ever be a way to restrict the codecs sent.
Some people seem to think just sending a preferred codec is a good solution
when in reality to force a preferred codec, you must only send that codec.

The easy solution here is to create two peer entries, one for ULAW, and one
for G729 and then dial one or another.

-Michael

________________________________________
From: asterisk-dev-bounces at lists.digium.com
[mailto:asterisk-dev-bounces at lists.digium.com] On Behalf Of Jerris, Michael
MI
Sent: Monday, April 04, 2005 12:23 PM
To: Asterisk Developers Mailing List
Subject: RE: [Asterisk-Dev] Codec not negotiating

http://bugs.digium.com/bug_view_page.php?bug_id=0003346 should address this
issue, but there is not yet a patch with the implementation that was decided
upon yet.

________________________________________
From: asterisk-dev-bounces at lists.digium.com
[mailto:asterisk-dev-bounces at lists.digium.com] On Behalf Of Clay Reiche
Sent: Monday, April 04, 2005 1:57 PM
To: asterisk-dev at lists.digium.com
Subject: [Asterisk-Dev] Codec not negotiating
ok... I've trying to fix this for days... I got very little response from
the Users list. I have a sip device that registers with my *. The sip device
is ONLY set up to use ulaw. My asterisk server sends ALL PSTN calls to a
Sonus gateway/softswitch. When I place a PSTN call, the sip device sends the
INVITE with SDP and the ONLY codec option is ulaw. Asterisk then turns
around and sends an INVITE with SDP to the Sonus gateway with ulaw as the
first option and g729 as a second option. The Sonus sees the TWO options and
ALWAYS chooses g729. The codec negotiation fails and the call never
completes.
 
I understand that the TWO options are sent because I have no peer set up for
the Sonus in my sip.conf and it defaults to the [general] codec settings
which are ulaw and g729. However, MOST of my calls to the Sonus ARE using
g729, only a few need to use ulaw. (for faxing) So I can't restrict the
Sonus peer to only ulaw...
 
Here is my question:(finally...sorry:))
Can I force asterisk to send ONLY my prefered codec?(the first one in the
INVITE) or is this only fixed by pleading with the people who run the Sonus
sofswitch to stop ignoring my preferred codec? or is there some other
solution? Any suggestions would be very appreciated!
 
CONFIG FILES:
Sip.Conf:
[general]
context=default                 ; Default context for incoming calls
;recordhistory=yes              ; Record SIP history by default
                                ; (see sip history / sip no history)
;realm=mydomain.tld             ; Realm for digest authentication
                                ; defaults to "asterisk"
                                ; Realms MUST be globally unique according
to RFC 3261
                                ; Set this to your host name or domain name
port=5060                       ; UDP Port to bind to (SIP standard port is
5060)
bindaddr=0.0.0.0                ; IP address to bind to (0.0.0.0 binds to
all)
srvlookup=no                    ; Enable DNS SRV lookups on outbound calls
                                ; Note: Asterisk only uses the first host
                                ; in SRV records
                                ; Disabling DNS SRV lookups disables the
                                ; ability to place SIP calls based on domain
                                ; names to some other SIP users on the
Internet
 
;pedantic=yes                   ; Enable slow, pedantic checking for Pingtel
                                ; and multiline formatted headers for strict
                                ; SIP compatibility (defaults to "no")
;tos=184                        ; Set IP QoS to either a keyword or numeric
val
;tos=lowdelay                   ;
lowdelay,throughput,reliability,mincost,none
;maxexpirey=3600                ; Max length of incoming registration we
allow
;defaultexpirey=120             ; Default length of incoming/outoing
registration
;notifymimetype=text/plain      ; Allow overriding of mime type in MWI
NOTIFY
;videosupport=yes               ; Turn on support for SIP video
 
disallow=all                    ; First disallow all codecs
allow=g729
allow=ulaw                      ; Allow codecs in order of preference
;allow=alaw
;allow=g723.1
;allow=ilbc                     ; Note: codec order is respected only in
[general]
;musicclass=default             ; Sets the default music on hold class for
all SIP calls
                                ; This may also be set for individual
users/peers
;language=en                    ; Default language setting for all
users/peers
                                ; This may also be set for individual
users/peers
;relaxdtmf=yes                  ; Relax dtmf handling
;rtptimeout=60                  ; Terminate call if 60 seconds of no RTP
activity
                                ; when we're not on hold
;rtpholdtimeout=300             ; Terminate call if 300 seconds of no RTP
activity
                                ; when we're on hold (must be > rtptimeout)
;trustrpid = no                 ; If Remote-Party-ID should be trusted
;progressinband=no              ; If we should generate in-band ringing
always
useragent=Abox SS1.0            ; Allows you to change the user agent string
;nat=no                         ; NAT settings
                                ; yes = Always ignore info and assume NAT
                                ; no = Use NAT mode only according to
RFC3581
                                ; never = Never attempt NAT mode or RFC3581
support
                                ; route = Assume NAT, don't send rport (work
around more UNIDEN bugs)
;usereqphone=no
 
[8138644418]
type=friend
username=8138644418
secret=C34589Y
host=dynamic
nat=yes
context=from-sip
callerid=8138644418
canreinvite=yes
mailbox=8138644418
accountcode=accxx_group
disallow=all
allow=g729
allow=ulaw
 
######################################################################
extensions.conf:
[general]
static=yes
writeprotect=no
 
[globals]
 
[local]
;
; Master context for local, toll-free, and iaxtel calls only
;
include => default
include => parkedcalls
include => iaxtel700
include => iaxprovider
include => from-sip
 
[default]
include => from-sip
 
[from-sip]
exten => _1NXXNXXXXXX,1,Dial(SIP/${EXTEN}@216.229.127.60)
 
exten =>
18138644418,4,Dial(IAX2/poseidon:olympus at 72.21.12.4/8138644418 at from-sip)
exten => 18138644418,3,Wait(2)
exten => 18138644418,2,Dial(SIP/8138644418,20)
exten => 18138644418,1,SetCDRUserField(accxx_group)
 
###################################################################
 
 
Thank you!
 
Clay Reiche






More information about the asterisk-dev mailing list