[asterisk-users] new install: no re-invite and unwanted transcoding
Stewart Nelson
lists at heyitsmail.com
Mon May 12 03:26:18 CDT 2014
I am unable to get re-invite to work on a new system. Also, unwanted
transcoding is occurring on PSTN calls.
The new system (FreePBX 2.11.0.37, Asterisk 11.9.0, CentOS 6.5) will
eventually replace an old system (FreePBX 2.8.1, Asterisk 1.8.7.2,
CentOS 5.8) currently in production. Both systems are on VPS with public
IP addresses. Goals for the new system include: HD (g722) connections on
internal calls, Asterisk only proxies audio when necessary, no unwanted
transcoding.
For initial testing, I've set up two Yealink T26P extensions and one
Localphone trunk. Internal and external calls work, except for the
problems above. The extensions are behind a NAT, but are set up with
STUN, unique SIP and RTP ports, and proper forwarding. The router
handles hairpin connections properly. When registered to the old system,
calls between the test extensions re-invite correctly. On the new
system, no re-invites are attempted and I see nothing logged to indicate
why. Re-invite also fails on inbound and outbound trunk calls, and on
trunk-to-trunk calls (tested by setting follow-me to an external number).
The extensions are coded with:
Asterisk Dial Options: r
canreinvite: Yes
nat: No - RFC3581
disallow: all
allow: g722&ulaw&alaw
Recording Options (all): Never
The trunk (both PEER and USER Details) has:
canreinvite=yes
In Advanced Settings -> Device Settings I have:
SIP canrenivite (directmedia): Yes
In Asterisk SIP Settings I have:
NAT: No
IP Configuration: Public IP
Codecs: ulaw, alaw
Reinvite Behavior: Yes
Other settings are defaults, except for a non-standard bindport.
An entry from sip_additional.conf, as generated by FreePBX:
[1001]
deny=0.0.0.0/0.0.0.0
disallow=all
secret=password
dtmfmode=rfc2833
canreinvite=yes
context=from-internal
host=dynamic
trustrpid=yes
sendrpid=pai
type=friend
nat=no
port=5060
qualify=yes
qualifyfreq=60
transport=udp
avpf=no
icesupport=no
encryption=no
callgroup=
pickupgroup=
allow=g722
allow=ulaw
allow=alaw
dial=SIP/1001
mailbox=1001 at device
permit=0.0.0.0/0.0.0.0
callerid=John Doe <1001>
callcounter=yes
faxdetect=no
cc_monitor_policy=generic
The dial command produced by FreePBX also looks reasonable:
-- Executing [s at macro-dial-one:43] Dial("SIP/1002-0000007e",
"SIP/1001,,rI") in new stack
A second issue is that on outbound PSTN calls, Asterisk is accepting the
phone's first-preference codec (g722), speaking ulaw on the trunk side
and transcoding, resulting in degraded quality. Incoming calls escape
this problem; Asterisk offers ulaw/g722/alaw, the phone accepts the
first (ulaw) and no transcoding occurs. How can I tell Asterisk to
prefer ulaw over g722, when it would otherwise need to transcode? (The
transcoding issue also affects the old system, but I gave up debugging
it and just disabled g722 on the phones.)
Any advice will be gratefully appreciated.
Thanks,
Stewart
More information about the asterisk-users
mailing list