[asterisk-users] Local channel with /n doesn't hangup after transfer. Why?

Andrey Solovjov solovjov at mcn.ru
Fri Feb 2 10:16:53 MST 2007


Hello all
I asked similar question some time ago but didn't get answer... Maybe 
this should asked in asterisk-dev or bugs.digium.com?
For example, I have 3 sip phones defined in sip.conf - 101, 103, 109 and 
this simple dialplan:
[local-ext]
exten => 101,1,Dial(SIP/101,,t)
exten => 107,1,Dial(SIP/107,,t)
exten => 109,1,Dial(SIP/109,,t)
exten => 1109,1,Dial(Local/109 at local-ext/n,,t)

-- Executing [1109 at internal:1] Dial("SIP/101-0935e788", 
"Local/109 at local-ext/n||t") in new stack
-- Executing [109 at local-ext:1] Dial("Local/109 at local-ext-1373,2", 
"SIP/109||t") in new stack

SIP/101 dials 1109. SIP/109  answers the call. We have 4 active channels:
Channel              Location             State   Application(Data)
SIP/109-0935cfd0     (None)               Up      Bridged 
Call(Local/109 at local-e
Local/109 at local-ext- 109 at local-ext:1      Up      Dial(SIP/109||t)
Local/109 at local-ext- (None)               Up      Bridged 
Call(SIP/101-0935e788)
SIP/101-0935e788     1109 at internal:1      Up      
Dial(Local/109 at local-ext/n||t)

Now, SIP/109 transfers call to SIP/107. SIP/107 ansfer and we still have 
4 channels:
Channel              Location             State   Application(Data)
SIP/107-093931f0     (None)               Up      Bridged 
Call(Local/109 at local-e
Local/109 at local-ext- 107 at internal:1       Up      Dial(SIP/107||t)
Local/109 at local-ext- (None)               Up      Bridged 
Call(SIP/101-0935e788)
SIP/101-0935e788     1109 at internal:1      Up      
Dial(Local/109 at local-ext/n||t)

Channel Local/109 at local-ext is quite a problem when we use Local channel 
in queues, because queue thinks that's it's busy even after transfer.
Why is this channel doesn't hangup and SIP/101 and SIP/107 can't be 
bridged without it?
AgentCallbackLogin is depreciated and it's not possible to make normal 
callback agents with such work of Local channel.
If we don't use /n then queue knows nothing about the state of agent. 
That's not very good too.

Thank you.


More information about the asterisk-users mailing list