[Freeswitch-users] inbound-late-negotiation and attended transfer

Dmitry Bely dmitry.bely at gmail.com
Tue Mar 22 21:09:11 MSK 2011


On Tue, Mar 22, 2011 at 8:18 PM, Michael Collins <msc at freeswitch.org> wrote:
> How are you performing the attended transfer? What kind of phone is this?
> -MC

Yes, the attended transfer using phone's capabilities as explained
here: http://www.youtube.com/watch?v=VpEVpr-4y-U
The phone is Grandstream GXP-2000.

Here is an example. There was two active calls:

gw <-> 1000 (PCMU)
1000 <-> 1004 (G722)

Now operator transfers the fist call to 1004. The log:

2011-03-18 17:08:27.221372 [DEBUG] sofia.c:4659 Channel
sofia/internal/1000 at 192.168.121.66 entering
state [received][100]
2011-03-18 17:08:27.222378 [DEBUG] sofia.c:4670 Remote SDP:
v=0
o=1000 8001 8002 IN IP4 192.168.121.153
s=SIP Call
c=IN IP4 192.168.121.153
t=0 0
m=audio 5030 RTP/AVP 9 0 8 18 4 99 3 2
a=rtpmap:9 G722/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:18 G729/8000
a=rtpmap:4 G723/8000
a=rtpmap:99 iLBC/8000
a=fmtp:99 mode=20
a=rtpmap:3 GSM/8000
a=rtpmap:2 G726-32/8000
a=sendonly
a=ptime:20

2011-03-18 17:08:27.222378 [DEBUG] switch_channel.c:1377
(sofia/internal/1000 at 192.168.121.66) Callstate Change ACTIVE -> HELD
2011-03-18 17:08:27.222378 [DEBUG] switch_core_session.c:954 Send
signal sofia/internal/sip:1004 at 192.168.121.136:5060 [BREAK]
2011-03-18 17:08:27.224386 [DEBUG] switch_core_session.c:709 Send
signal sofia/internal/sip:1004 at 192.168.121.136:5060 [BREAK]
2011-03-18 17:08:27.364243 [DEBUG] switch_ivr.c:563
sofia/internal/sip:1004 at 192.168.121.136:5060 Command Execute
playback(local_stream://moh)
EXECUTE sofia/internal/sip:1004 at 192.168.121.136:5060
playback(local_stream://moh)
2011-03-18 17:08:27.364243 [WARNING] mod_local_stream.c:393 Unknown
source moh, trying 'default'
2011-03-18 17:08:27.364243 [DEBUG] mod_local_stream.c:421 Opening
Stream [default] 8000hz
2011-03-18 17:08:27.364243 [DEBUG] switch_core_file.c:176 File moh
sample rate 8000 doesn't match requested rate 16000
2011-03-18 17:08:27.364243 [DEBUG] switch_ivr_play_say.c:1244 Codec
Activated L16 at 16000hz 1 channels 20ms
2011-03-18 17:08:27.472662 [DEBUG] sofia_glue.c:4474 Audio Codec
Compare [G722:9:8000:20:64000]/[G722:9:8000:20:64000]
2011-03-18 17:08:27.472662 [DEBUG] sofia_glue.c:2690 Already using G722
2011-03-18 17:08:27.472662 [DEBUG] sofia_glue.c:2972 Audio params are
unchanged for sofia/internal/1000 at 192.168.121.66.
2011-03-18 17:08:27.472662 [DEBUG] sofia.c:5070 Processing updated SDP
2011-03-18 17:08:27.473667 [DEBUG] sofia.c:4659 Channel
sofia/internal/1000 at 192.168.121.66 entering state [completed][200]
2011-03-18 17:08:27.592069 [DEBUG] sofia.c:4659 Channel
sofia/internal/1000 at 192.168.121.66 entering state [ready][200]
2011-03-18 17:08:27.769589 [DEBUG] sofia.c:5520 Process REFER to
[1004 at 192.168.121.66]
2011-03-18 17:08:27.769589 [DEBUG] sofia.c:5539 Replaces:
[5cd372e1e81966ca at 192.168.121.153;from-tag=d55f7fbec6efbde7;to-tag=2N49SS5XNjUeB]
...
(no more codec negotiation)

> On Tue, Mar 22, 2011 at 3:11 AM, Dmitry Bely <dmitry.bely at gmail.com> wrote:
>>
>> I have G722 and PCMU enabled for internal extensions and PCMU only for
>> an external gateway. Inbound-late-negotiation parameter is set so then
>> an incoming call arrives PCMU is used without transcoding. But it goes
>> worse when transfer is involved:
>>
>> call 1: gw <-- PCMU--> FreeSwitch <-- PCMU --> operator
>> call 2: operator <-- G722 --> FreeSwitch <-- G722--> extension
>> transfer (refer): gw <-- PCMU--> FreeSwitch <-- G722--> extension
>>
>> Is it possible to renegotiate a codec during transfer to get rid of
>> transcoding?

- Dmitry Bely



More information about the FreeSWITCH-users mailing list