Andrey Solovjov
2007-Feb-02 10:17 UTC
[asterisk-users] Local channel with /n doesn't hangup after transfer. Why?
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@local-ext/n,,t) -- Executing [1109@internal:1] Dial("SIP/101-0935e788", "Local/109@local-ext/n||t") in new stack -- Executing [109@local-ext:1] Dial("Local/109@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@local-e Local/109@local-ext- 109@local-ext:1 Up Dial(SIP/109||t) Local/109@local-ext- (None) Up Bridged Call(SIP/101-0935e788) SIP/101-0935e788 1109@internal:1 Up Dial(Local/109@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@local-e Local/109@local-ext- 107@internal:1 Up Dial(SIP/107||t) Local/109@local-ext- (None) Up Bridged Call(SIP/101-0935e788) SIP/101-0935e788 1109@internal:1 Up Dial(Local/109@local-ext/n||t) Channel Local/109@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.