[asterisk-users] Change codec when dial from SIP to DAHDI
d tbsky
tbskyd at gmail.com
Tue Sep 23 12:30:11 CDT 2014
Hi:
I am useing asterisk 11.12.
I use G722 as preferred codec for my ip-phone. and my PSTN DAHDI
use alaw. G722 is great when ip-phone talks to each other. but when
ip-phone dialout to PSTN DAHDI, G722 is not great, since it is need to
transcode to alaw.
so I try to change the codec when dial from SIP to DAHDI. I tried
to use IP_CODEC/SIP_CODEC_OUTBOUND at dialplan. but the SIP codec
change after dahdi answered the channel. so everything is broken. the
call log like below:
[2014-09-23 21:18:46] VERBOSE[11634][C-0000000d] pbx.c: --
Executing [s at macro-dialout-trunk-predial-hook:2]
Set("SIP/222-00000004", "SIP_CODEC=alaw") in new stack
[2014-09-23 21:18:46] VERBOSE[11634][C-0000000d] pbx.c: --
Executing [s at macro-dialout-trunk-predial-hook:3]
Set("SIP/222-00000004", "SIP_OUT_CODEC=alaw") in new stack
[2014-09-23 21:18:46] VERBOSE[11634][C-0000000d] pbx.c: --
Executing [s at macro-dialout-trunk-predial-hook:4]
MacroExit("SIP/222-00000004", "") in new stack
[2014-09-23 21:18:46] VERBOSE[11634][C-0000000d] pbx.c: --
Executing [s at macro-dialout-trunk:18] GotoIf("SIP/222-00000004",
"0?bypass,1") in new stack
[2014-09-23 21:18:46] VERBOSE[11634][C-0000000d] pbx.c: --
Executing [s at macro-dialout-trunk:19] ExecIf("SIP/222-00000004",
"1?Set(CONNECTEDLINE(num,i)=0912345678)") in new stack
[2014-09-23 21:18:46] VERBOSE[11634][C-0000000d] pbx.c: --
Executing [s at macro-dialout-trunk:20] ExecIf("SIP/222-00000004",
"1?Set(CONNECTEDLINE(name,i)=CID:222)") in new stack
[2014-09-23 21:18:46] VERBOSE[11634][C-0000000d] pbx.c: --
Executing [s at macro-dialout-trunk:21] GotoIf("SIP/222-00000004",
"0?customtrunk") in new stack
[2014-09-23 21:18:46] VERBOSE[11634][C-0000000d] pbx.c: --
Executing [s at macro-dialout-trunk:22] Dial("SIP/222-00000004",
"DAHDI/g2/0912345678,300,Tt") in new stack
[2014-09-23 21:18:46] VERBOSE[11634][C-0000000d] app_dial.c: --
Called DAHDI/g2/0912345678
[2014-09-23 21:18:53] VERBOSE[11634][C-0000000d] app_dial.c: --
DAHDI/2-1 answered SIP/222-00000004
[2014-09-23 21:18:53] NOTICE[11634][C-0000000d] chan_sip.c: Changing
codec to 'alaw' for this call because of ${SIP_CODEC} variable
[2014-09-23 21:18:53] NOTICE[11634][C-0000000d] chan_sip.c: Changing
codec to 'alaw' for this call because of ${SIP_CODEC} variable
if I check channel with "core show channel xxxxx", got DAHDI/SIP
legs final like this:
NativeFormats: (alaw)
WriteFormat: slin
ReadFormat: slin
WriteTranscode: Yes (slin)->(alaw)
ReadTranscode: Yes (alaw)->(slin)
although two legs finally use alaw both, but transcode use slin in
the middle. is it possible to prevent the transcode?
if that is not possible, then maybe I should give up using G722 as
the preffered codec of ip phone. back to G711 seems much easier to
make all legs with the same codec.
thanks a lot for help!!
Regards,
tbskyd
More information about the asterisk-users
mailing list