[asterisk-users] Problems with Codecs in Asterisk
Rich Adamson
radamson at routers.com
Tue Aug 8 07:17:49 MST 2006
Dean @ INKnBITs wrote:
> I have the same problem here, why does asterisk not use ulaw with Sip1
> -> Sip3 ? As it has allow=g729 and allow=ulaw in Sip1, should it not
> fallback onto ulaw when the g729 fails?
>
> Thanks,
> Dean.
>
> -----Original Message-----
> *From:* asterisk-users-bounces at lists.digium.com
> [mailto:asterisk-users-bounces at lists.digium.com]*On Behalf Of *Rosli
> Sukri
> *Sent:* 08 August 2006 13:38
> *To:* Asterisk Users Mailing List - Non-Commercial Discussion
> *Subject:* Re: [asterisk-users] Problems with Codecs in Asterisk
>
> either
> 1)pay digium for g.729 license or
> 2)allow g.729 for sip3
>
> - sip 1 -> sip2 work cause it will pass thru,
> - sip 2 -> sip3 fails because since asterisk wants to do transcoding
> to 729<->711 and no license
> if bandwidth is a concern just use GSM (if available as a codec on
> the phone)
>
> On 8/8/06, *Chan Kwang Mien* < kwangmien at asgent-tech.com
> <mailto:kwangmien at asgent-tech.com>> wrote:
>
> Hi,
>
> My test-setup is as follows :
>
> sip1 <--> Asterisk <--> sip2
> ^
> |-------> sip3
>
> In sip.conf,
>
> [sip1]
> type=friend
> host=dynamic
> secret=pass
> disallow=all
> allow=g729
> allow=ulaw
>
> [sip2]
> type=friend
> host=dynamic
> secret=pass
> disallow=all
> allow=g729
>
> [sip3]
> type=friend
> host=dynamic
> secret=pass
> disallow=all
> allow=ulaw
>
>
> sip1 supports g.729 and g.711u only
> sip2 supports g.729 only
> sip3 supports g.711u only
>
> sip1 is able to establish a call to sip2.
> However, I have problem establishing a call from sip1 to sip3. sip3
> rings but when I answered it, it hanged up.
>
> The Logs are :
>
> -- Executing Dial("SIP/2006-389a", "SIP/2003") in new stack
> -- Called 2003
> Aug 8 09:55:15 WARNING[6937]: channel.c:2725
> ast_channel_make_compatible: No path to translate from
> SIP/2003-b5f8(4)
> to SIP/2006-389a(256)
>
> -- SIP/2003-b5f8 is ringing
> -- SIP/2003-b5f8 answered SIP/2006-389a
>
> Aug 8 09:55:16 WARNING[6937]: channel.c:2725
> ast_channel_make_compatible: No path to translate from
> SIP/2006-389a(256) to SIP/2003-b5f8(4)
> Aug 8 09:55:16 WARNING[6937]: app_dial.c:1608 dial_exec_full:
> Had to
> drop call because I couldn't make SIP/2006-389a compatible with
> SIP/2003-b5f8
> == Spawn extension (phones, 2003, 1) exited non-zero on
> 'SIP/2006-389a'
>
>
> I think the codecs used by sip3 and sip1 are incompatible. Does
> anyone
> know how I could make them compatible ?
I believe the issue is this...
When sip1 initiates a call, a codec is selected based on the sip phone
preference and asterisk codec "ordering". That selection has nothing to
do with "where" the call is going to be directed (eg, sip2 or sip3).
That negotiation happens early, otherwise you would not be able to hear
busy & congested tones, audio messages, etc.
"After" that negotiation happens, then asterisk begins processing the
call by doing the same thing with the destination sip phone. In other
words, asterisk negotiates an appropriate codec with sip2 (or sip3) that
is based on that phone's codec preference and what asterisk's codec
ordering for that sip phone definition.
"After" both of the above steps are completed, asterisk then tries to
bridge the two calls, and if you don't have the g729 codec installed, it
can't bridge ulaw to g729. There is no more codec negotiation going on
after step 1 and 2 above.
The above can easily be verified by simply doing a "sip debug" and
placing a call.
More information about the asterisk-users
mailing list