Summary:ASTERISK-03514: IAX2 bug when handling AddQueueMember, RemoveQueueMember
Reporter:rrozman (rrozman)Labels:
Date Opened:2005-02-14 15:32:37.000-0600Date Closed:2005-02-26 12:36:53.000-0600
Versions:Frequency of
Environment:Attachments:( 0) 20050215__queue_fix.diff.txt

when I dial 56 from iax2 client, it is added to queue members, but with full iax2 channels specs. That means I get:
podpora      has 0 calls (max unlimited) in 'ringall' strategy (0s holdtime), C:0, A:0, SL:0.0% within 0s
     SIP/202 (dynamic) has taken no calls yet
     IAX2/252@252/2 (dynamic) has taken no calls yet

SIP is entered only as extension number, IAX2 as full channel name that is unique. If I call 57 from same iax2 client channel name on this new call won't match previous login channel name, so member won't get removed from queue....


exten => 56,1,AddQueueMember(podpora)
exten => 56,2,UserEvent(Agentlogin|Agent: ${CALLERIDNUM});    zaradi FOP
exten => 56,3,Playback(agent-loginok)
exten => 56,4,Hangup

; Login out of a queue from the current location.  Calls will no longer be
; routed to your extension.
exten => 57,1,RemoveQueueMember(podpora)
exten => 57,2,UserEvent(RefreshQueue);                        zaradi FOP
exten => 57,3,Playback(agent-loggedoff)
exten => 57,4,Hangup
Comments:By: Mark Spencer (markster) 2005-02-14 17:06:07.000-0600

Just use separate extensions in the mean time.  To the degree that this is a bug at all, it's easy to work around.

By: Tilghman Lesher (tilghman) 2005-02-14 18:13:32.000-0600

Just use Cut and specify the second argument to AddQueueMember.

exten => 56,1,GotoIf($[${CHANNEL:0:4} = IAX2]?500)
exten => 56,2,Cut(interface=CHANNEL,-,1)
exten => 56,3,AddQueueMember(podpora,${interface})
exten => 56,500,Cut(interface=CHANNEL,@,1)
exten => 56,501,Goto(3)

By: Tilghman Lesher (tilghman) 2005-02-15 23:07:52.000-0600

Patch uploaded.  Disclaimer on file.

By: Mark Spencer (markster) 2005-02-18 00:12:35.000-0600

Perhaps we should fix IAX2 channel names to use the "-" in the end instead of "/" ?

By: Mark Spencer (markster) 2005-02-18 00:16:06.000-0600

Fixed in CVS by changing IAX2 to use "-" instead of "/" as final separator.

By: Russell Bryant (russell) 2005-02-26 12:36:53.000-0600

I guess this will have to be one of the "known bugs" in 1.0 since there is a reasonable workaround and that little change could cause a lot of headache.