Florian Overkamp wrote:

Hi,

in following of a recent discussion I got to work on MGCP with the Cisco ATA186 again, and got it to work very nicely. However, there is a little thing with transfers I would like to get comments on:

Call comes in from PSTN and goes to an ATA186 (MGCP)
Call is answered and then, using flash, transferred to another extension
If the extension is available, there can be an announcement and the call may be transferred by hanging up
If the extension is not available, it seems to be erratic to take the call back. Hitting flash again sometimes gives another dialtone.


I realised this may be related to: http://bugs.digium.com/bug_view_page.php?bug_id=0000129

that bug_id is a first part of this problem - it does not let you flip-flop two down channel

but here one channel is up_and_bridged and the second - your not success dial - it needs to destroy that channel not just mute it ... it time to open/reopen the ticket

Can anyone explain to me how all this should be used, for reference ? I can also imagine I'm doing something wrong in the transfer process ?

I intend to hit this into the bugtracker when I get some more logs and a better feeling for wether or not its actually a bug, but I'm curious to see if anyone else saw this.




Here are some scenario's..


This one is a succesfully completed transfer (but notice the WARNING's):

-- Accepting AUTHENTICATED call from 217.114.97.249, requested format = 8, actual format = 8
-- Executing Dial("[EMAIL PROTECTED]/16384", "Local/[EMAIL PROTECTED]") in new stack
-- Called [EMAIL PROTECTED]
-- Executing Dial("Local/[EMAIL PROTECTED],2", "MGCP/aaln/[EMAIL PROTECTED]") in new stack
-- MGCP mgcp_request(aaln/[EMAIL PROTECTED])
-- MGCP cw: 0, dnd: 0, so: 0, sno: 0
-- MGCP mgcp_new(MGCP/aaln/[EMAIL PROTECTED]) created in state: Down
-- Called aaln/[EMAIL PROTECTED]
-- MGCP/aaln/[EMAIL PROTECTED] is ringing
-- Local/[EMAIL PROTECTED],1 is ringing
-- Endpoint 'aaln/[EMAIL PROTECTED]' observed 'hd'
-- MGCP/aaln/[EMAIL PROTECTED] answered Local/[EMAIL PROTECTED],2
-- Local/[EMAIL PROTECTED],1 stopped sounds
-- Local/[EMAIL PROTECTED],1 answered [EMAIL PROTECTED]/16384
== Spawn extension (from-pstn, 537503051, 1) exited non-zero on 'Local/[EMAIL PROTECTED],2<ZOMBIE>'
-- Endpoint 'aaln/[EMAIL PROTECTED]' observed 'hf'
-- Swapping 0 for 1 on aaln/[EMAIL PROTECTED]
-- MGCP Muting 0 on aaln/[EMAIL PROTECTED]
-- Started music on hold, class 'default', on [EMAIL PROTECTED]/16384
-- MGCP mgcp_new(MGCP/aaln/[EMAIL PROTECTED]) created in state: Down
-- Endpoint 'aaln/[EMAIL PROTECTED]' observed '7'
-- Endpoint 'aaln/[EMAIL PROTECTED]' observed '0'
-- Endpoint 'aaln/[EMAIL PROTECTED]' observed '0'
-- Endpoint 'aaln/[EMAIL PROTECTED]' observed '2'
-- Executing Dial("MGCP/aaln/[EMAIL PROTECTED]", "MGCP/aaln/[EMAIL PROTECTED]") in new stack
-- MGCP mgcp_request(aaln/[EMAIL PROTECTED])
-- MGCP cw: 0, dnd: 0, so: 0, sno: 0
-- MGCP mgcp_new(MGCP/aaln/[EMAIL PROTECTED]) created in state: Down
-- Called aaln/[EMAIL PROTECTED]
-- MGCP/aaln/[EMAIL PROTECTED] is ringing
-- Endpoint 'aaln/[EMAIL PROTECTED]' observed 'hd'
-- MGCP/aaln/[EMAIL PROTECTED] answered MGCP/aaln/[EMAIL PROTECTED]
-- MGCP mgcp_answer(MGCP/aaln/[EMAIL PROTECTED]) on aaln/[EMAIL PROTECTED]
-- Attempting native bridge of MGCP/aaln/[EMAIL PROTECTED] and MGCP/aaln/[EMAIL PROTECTED]
-- Endpoint 'aaln/[EMAIL PROTECTED]' observed 'hu'
-- Stopped music on hold on [EMAIL PROTECTED]/16384
NOTICE[46109]: File chan_mgcp.c, Line 775 (mgcp_fixup): mgcp_fixup(MGCP/aaln/[EMAIL PROTECTED], MGCP/aaln/[EMAIL PROTECTED]<MASQ>)
WARNING[46109]: File chan_mgcp.c, Line 777 (mgcp_fixup): old channel wasn't 0x8134958 but was (nil)
WARNING[46109]: File channel.c, Line 2011 (ast_do_masquerade): Fixup failed on channel MGCP/aaln/[EMAIL PROTECTED]<MASQ>, strange things may happen.
NOTICE[46109]: File chan_mgcp.c, Line 775 (mgcp_fixup): mgcp_fixup(MGCP/aaln/[EMAIL PROTECTED]<ZOMBIE>, MGCP/aaln/[EMAIL PROTECTED])
-- Endpoint 'aaln/[EMAIL PROTECTED]' observed 'hu'
== Spawn extension (pbx, 7001, 1) exited non-zero on '[EMAIL PROTECTED]/16384'
-- Hungup '[EMAIL PROTECTED]/16384'


By the way: After this, the channel does remains unavailable, even though all phones are on-hook (a show channels shows the MGCP line to be active (not shown here). (You could conclude after analysing this that the MGCP channel has not got a 'Spawn extension <foo> exited non-zero' line)


Here is an uncompleted transfer:
-- Accepting AUTHENTICATED call from 217.114.97.249, requested format = 8, actual format = 8
-- Executing Dial("[EMAIL PROTECTED]/16384", "Local/[EMAIL PROTECTED]") in new stack
-- Executing Dial("Local/[EMAIL PROTECTED],2", "MGCP/aaln/[EMAIL PROTECTED]") in new stack
-- MGCP mgcp_request(aaln/[EMAIL PROTECTED])
-- MGCP cw: 0, dnd: 0, so: 0, sno: 0
-- MGCP mgcp_new(MGCP/aaln/[EMAIL PROTECTED]) created in state: Down
-- Called aaln/[EMAIL PROTECTED]
-- MGCP/aaln/[EMAIL PROTECTED] is ringing
-- Called [EMAIL PROTECTED]
-- Local/[EMAIL PROTECTED],1 is ringing
-- Endpoint 'aaln/[EMAIL PROTECTED]' observed 'hd'
-- MGCP/aaln/[EMAIL PROTECTED] answered Local/[EMAIL PROTECTED],2
-- Local/[EMAIL PROTECTED],1 stopped sounds
-- Local/[EMAIL PROTECTED],1 answered [EMAIL PROTECTED]/16384
== Spawn extension (from-pstn, 537503051, 1) exited non-zero on 'Local/[EMAIL PROTECTED],2<ZOMBIE>'
-- Endpoint 'aaln/[EMAIL PROTECTED]' observed 'hd'
-- MGCP mgcp_new(MGCP/aaln/[EMAIL PROTECTED]) created in state: Down
-- Endpoint 'aaln/[EMAIL PROTECTED]' observed 'hf'
-- Swapping 1 for 0 on aaln/[EMAIL PROTECTED]
-- MGCP Muting 1 on aaln/[EMAIL PROTECTED]
-- Started music on hold, class 'default', on [EMAIL PROTECTED]/16384
-- MGCP mgcp_new(MGCP/aaln/[EMAIL PROTECTED]) created in state: Down
-- Endpoint 'aaln/[EMAIL PROTECTED]' observed '7'
-- Endpoint 'aaln/[EMAIL PROTECTED]' observed '0'
-- Endpoint 'aaln/[EMAIL PROTECTED]' observed '0'
-- Endpoint 'aaln/[EMAIL PROTECTED]' observed '2'
-- Executing Dial("MGCP/aaln/[EMAIL PROTECTED]", "MGCP/aaln/[EMAIL PROTECTED]") in new stack
-- MGCP mgcp_request(aaln/[EMAIL PROTECTED])
-- MGCP cw: 0, dnd: 0, so: 1, sno: 0
NOTICE[18450]: File app_dial.c, Line 502 (dial_exec): Unable to create channel of type 'MGCP'
== Everyone is busy at this time
-- Timeout on MGCP/aaln/[EMAIL PROTECTED]
== CDR updated on MGCP/aaln/[EMAIL PROTECTED]
-- Executing Busy("MGCP/aaln/[EMAIL PROTECTED]", "") in new stack
-- Endpoint 'aaln/[EMAIL PROTECTED]' observed 'hf'
-- Swapping 0 for 1 on aaln/[EMAIL PROTECTED]
-- We didn't make one of the calls FLIPFLOP 0 and 1 on aaln/[EMAIL PROTECTED]
-- MGCP Muting 0 on aaln/[EMAIL PROTECTED]
-- Stopped music on hold on [EMAIL PROTECTED]/16384
-- Endpoint 'aaln/[EMAIL PROTECTED]' observed 'hu'
NOTICE[18450]: File chan_mgcp.c, Line 775 (mgcp_fixup): mgcp_fixup([EMAIL PROTECTED]/16384, [EMAIL PROTECTED]/16384<MASQ>)
WARNING[18450]: File chan_mgcp.c, Line 777 (mgcp_fixup): old channel wasn't 0x813a710 but was (nil)
WARNING[18450]: File channel.c, Line 2011 (ast_do_masquerade): Fixup failed on channel [EMAIL PROTECTED]/16384<MASQ>, strange things may happen.
== Spawn extension (pbx, 7001, 1) exited non-zero on 'MGCP/aaln/[EMAIL PROTECTED]<ZOMBIE>'
-- Endpoint 'aaln/[EMAIL PROTECTED]' observed 'hu'
-- MGCP handle_request(aaln/[EMAIL PROTECTED]) ast_channel already destroyed
-- MGCP handle_request(aaln/[EMAIL PROTECTED]) set vmwi(-)
*CLI> show channels
Channel (Context Extension Pri ) State Appl. Data
[EMAIL PROTECTED]/16384 (pbx t 1 ) Up Busy (Empty)
1 active channel(s)


Hmm, in this case you can see aaln/2 being picked up so as to give a busy tone during the transfer. This works, and I am able to hit flash again to resume the original call. However, after hanging up the IAX channel (inbound call) is not disconnected.


To show my incapability, here's another log of me trying to transfer _again_ after the first one failed:


-- Accepting AUTHENTICATED call from 217.114.97.249, requested format = 8, actual format = 8
-- Executing Dial("[EMAIL PROTECTED]/16384", "Local/[EMAIL PROTECTED]") in new stack
-- Called [EMAIL PROTECTED]
-- Executing Dial("Local/[EMAIL PROTECTED],2", "MGCP/aaln/[EMAIL PROTECTED]") in new stack
-- MGCP mgcp_request(aaln/[EMAIL PROTECTED])
-- MGCP cw: 0, dnd: 0, so: 0, sno: 0
-- MGCP mgcp_new(MGCP/aaln/[EMAIL PROTECTED]) created in state: Down
-- Called aaln/[EMAIL PROTECTED]
-- MGCP/aaln/[EMAIL PROTECTED] is ringing
-- Local/[EMAIL PROTECTED],1 is ringing
-- Endpoint 'aaln/[EMAIL PROTECTED]' observed 'hd'
-- MGCP/aaln/[EMAIL PROTECTED] answered Local/[EMAIL PROTECTED],2
-- Local/[EMAIL PROTECTED],1 stopped sounds
-- Local/[EMAIL PROTECTED],1 answered [EMAIL PROTECTED]/16384
== Spawn extension (from-pstn, 537503051, 1) exited non-zero on 'Local/[EMAIL PROTECTED],2<ZOMBIE>'
-- Endpoint 'aaln/[EMAIL PROTECTED]' observed 'hd'
-- MGCP mgcp_new(MGCP/aaln/[EMAIL PROTECTED]) created in state: Down
-- Endpoint 'aaln/[EMAIL PROTECTED]' observed 'hf'
-- Swapping 0 for 1 on aaln/[EMAIL PROTECTED]
-- MGCP Muting 0 on aaln/[EMAIL PROTECTED]
-- Started music on hold, class 'default', on [EMAIL PROTECTED]/16384
-- MGCP mgcp_new(MGCP/aaln/[EMAIL PROTECTED]) created in state: Down
-- Endpoint 'aaln/[EMAIL PROTECTED]' observed '7'
-- Endpoint 'aaln/[EMAIL PROTECTED]' observed '0'
-- Endpoint 'aaln/[EMAIL PROTECTED]' observed '0'
-- Endpoint 'aaln/[EMAIL PROTECTED]' observed '2'
-- Executing Dial("MGCP/aaln/[EMAIL PROTECTED]", "MGCP/aaln/[EMAIL PROTECTED]") in new stack
-- MGCP mgcp_request(aaln/[EMAIL PROTECTED])
-- MGCP cw: 0, dnd: 0, so: 1, sno: 0
NOTICE[28694]: File app_dial.c, Line 502 (dial_exec): Unable to create channel of type 'MGCP'
== Everyone is busy at this time
-- Timeout on MGCP/aaln/[EMAIL PROTECTED]
== CDR updated on MGCP/aaln/[EMAIL PROTECTED]
-- Executing Busy("MGCP/aaln/[EMAIL PROTECTED]", "") in new stack
-- Endpoint 'aaln/[EMAIL PROTECTED]' observed 'hf'
-- Swapping 1 for 0 on aaln/[EMAIL PROTECTED]
-- We didn't make one of the calls FLIPFLOP 1 and 0 on aaln/[EMAIL PROTECTED]
-- MGCP Muting 1 on aaln/[EMAIL PROTECTED]
-- Stopped music on hold on [EMAIL PROTECTED]/16384
-- Endpoint 'aaln/[EMAIL PROTECTED]' observed 'hu'
-- MGCP handle_request(aaln/[EMAIL PROTECTED]) ast_channel already destroyed
-- MGCP handle_request(aaln/[EMAIL PROTECTED]) set vmwi(-)
-- Endpoint 'aaln/[EMAIL PROTECTED]' observed 'hf'
-- Swapping 0 for 1 on aaln/[EMAIL PROTECTED]
-- We didn't make one of the calls FLIPFLOP 0 and 1 on aaln/[EMAIL PROTECTED]
-- MGCP Muting 0 on aaln/[EMAIL PROTECTED]
-- Started music on hold, class 'default', on [EMAIL PROTECTED]/16384
WARNING[7176]: File chan_mgcp.c, Line 2123 (handle_hd_hf): Off hook, but alreaedy have owner on aaln/[EMAIL PROTECTED]
-- Endpoint 'aaln/[EMAIL PROTECTED]' observed '7'
-- Endpoint 'aaln/[EMAIL PROTECTED]' observed '0'
-- Endpoint 'aaln/[EMAIL PROTECTED]' observed '0'
-- Endpoint 'aaln/[EMAIL PROTECTED]' observed '2'
-- Endpoint 'aaln/[EMAIL PROTECTED]' observed 'hf'
-- Swapping 1 for 0 on aaln/[EMAIL PROTECTED]
-- We didn't make one of the calls FLIPFLOP 1 and 0 on aaln/[EMAIL PROTECTED]
-- MGCP Muting 1 on aaln/[EMAIL PROTECTED]
-- Stopped music on hold on [EMAIL PROTECTED]/16384
show channels
Channel (Context Extension Pri ) State Appl. Data
MGCP/aaln/[EMAIL PROTECTED] (pbx t 1 ) Ring Busy (Empty)
MGCP/aaln/[EMAIL PROTECTED] (pbx 1 ) Up Bridged Call [EMAIL PROTECTED]/16384
[EMAIL PROTECTED]/16384 (pbx 7001 1 ) Up Dial MGCP/aaln/[EMAIL PROTECTED]
3 active channel(s)
-- Endpoint 'aaln/[EMAIL PROTECTED]' observed 'hu'
NOTICE[28694]: File chan_mgcp.c, Line 775 (mgcp_fixup): mgcp_fixup([EMAIL PROTECTED]/16384, [EMAIL PROTECTED]/16384<MASQ>)
WARNING[28694]: File chan_mgcp.c, Line 777 (mgcp_fixup): old channel wasn't 0x81245b8 but was (nil)
WARNING[28694]: File channel.c, Line 2011 (ast_do_masquerade): Fixup failed on channel [EMAIL PROTECTED]/16384<MASQ>, strange things may happen.
== Spawn extension (pbx, t, 1) exited non-zero on '[EMAIL PROTECTED]/16384'
-- Hungup '[EMAIL PROTECTED]/16384'


Now, this is definitely wrong, both MGCP lines seem active but I can only toggle back to the call: The second transfer never actually goes...

What happened ?


Met vriendelijke groet, Florian Overkamp ObSimRef BV (http://www.obsimref.com/)

_______________________________________________
Asterisk-Users mailing list
[EMAIL PROTECTED]
http://lists.digium.com/mailman/listinfo/asterisk-users



--
----
---------
Best Regards,
    Pavel Litvinenko.
    ICQ: 16224754
    Ph: (8632) 923962, 923640
    sip:[EMAIL PROTECTED]



_______________________________________________
Asterisk-Users mailing list
[EMAIL PROTECTED]
http://lists.digium.com/mailman/listinfo/asterisk-users

Reply via email to