[asterisk-users] Early codec selection / negotiation
Faisal Hanif
faisal at vopium.com
Sun Mar 6 06:44:35 CST 2011
If you dialout call without answering and allow all codec for both peers
then codec negotiation will be direct between endpoints and asterisk will
only do media pass-through.
-----Original Message-----
From: asterisk-users-bounces at lists.digium.com
[mailto:asterisk-users-bounces at lists.digium.com] On Behalf Of Francois
Marier
Sent: Sunday, March 06, 2011 7:52 AM
To: asterisk-users at lists.digium.com
Subject: [asterisk-users] Early codec selection / negotiation
Hi,
This seems to be a fairly common question, but I have Googled for this quite
a bit and looked at the Asterisk documentation/book and haven't been able to
find an answer.
My question is:
Can I get my IP phone to select a different codec depending on the final
destination of each call?
I've got these things connected to my Asterisk box:
- Snom 300 phone (supports g729 and ulaw)
- PSTN Peer (supports g729 and ulaw)
- Remote Asterisk Peer (supports speex and ulaw)
Currently, it's configured like this:
[snom300]
disallow=all
allow=ulaw
[pstnpeer]
disallow=all
allow=ulaw
[asteriskpeer]
disallow=all
allow=speex
which translates to this:
Snom300 ---ulaw---> (pass-thru) ---ulaw----> PSTNPeer
Snom300 ---ulaw---> (transcode) ---speex---> AsteriskPeer
In other words, my Snom phone always talks to my Asterisk box using the ulaw
codec. My Asterisk box then makes PSTN calls using ulaw and Asterisk calls
using speex (transcoding in the case of speex).
What I'd like to get is this:
(1) Snom300 ---g729---> (pass-thru) ---g729----> PSTNPeer
(2) Snom300 ---ulaw---> (transcode) ---speex---> AsteriskPeer
I can get (1) by using this config:
[snom300]
disallow=all
allow=g729 ; only allow g729
[pstnpeer]
disallow=all
allow=g729
and I can get (2) by using this config:
[snom300]
disallow=all
allow=ulaw ; only allow ulaw
[asteriskpeer]
disallow=all
allow=speex
but I can't get both of them to work at the same time since the Snom phone
always connects to my Asterisk box using its prefferred codec.
If I configure the phone like this:
[snom300]
disallow=all
allow=g729 ; preferred codec
allow=ulaw
then (2) will fail because it's trying to do this:
Snom300 ---g729---> (transcode) ---speex---> AsteriskPeer
and it can't transcode g729 to speex without a patent license.
If I configure the phone like this:
[snom300]
disallow=all
allow=ulaw ; preferred codec
allow=g729
then (1) will fail because it's trying to do this:
Snom300 ---ulaw---> (transcode) ---g729----> PSTNPeer
This is the best description of the problem I've found online:
http://fonality.com/trixbox/forums/trixbox-forums/open-discussion/codec-sele
ction-negotiation-and-tweaking
but unfortunately it doesn't come with a solution.
Is there a way to prevent my IP phone from always connecting to my Asterisk
box using its preferred codec or is that simply impossible?
Cheers,
Francois
--
Francois Marier identi.ca/fmarier
http://feeding.cloud.geek.nz twitter.com/fmarier
--
_____________________________________________________________________
-- Bandwidth and Colocation Provided by http://www.api-digital.com -- New to
Asterisk? Join us for a live introductory webinar every Thurs:
http://www.asterisk.org/hello
asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
http://lists.digium.com/mailman/listinfo/asterisk-users
More information about the asterisk-users
mailing list