Karsten Wemheuer
2008-Apr-15 17:38 UTC
[asterisk-users] Problem with SIP, attended transfer and GROUP_COUNT
Hi, maybe someone can give me a hint to solve the following issue. I want to limit the calls to a specific SIP-destination. Disabling callwaiting at the phones is not an option, because it should be configured via the * database. My solution uses GROUP_COUNT, which works fine most of the time. In case of attended transfer (on SIP-basis, not via the #-mechanism of asterisk) I have problems. To simplfy the scenario I stripped down the dialplan to the following.>From somewhere on the wiki I am using the following context:exten => 200,1,Set(GROUP()=${CALLERID(num)}) exten => 200,n,GotoIf($[${GROUP_COUNT(${EXTEN})} >= 1]?BLOCK) exten => 200,n,Set(OUTBOUND_GROUP=${EXTEN}) exten => 200,n,Dial(SIP/katrin) exten => 200,n(BLOCK),Busy This block is used for other extensions 100 and 150 respectivily. It works fine until I am using attended transfer. Example: kwe (Extension 100) is calling katrin (Extension 200). katrin sets the call on hold and talks to hans (Extension 150). At the cli I get the following result: pbxtest*CLI> group show channels Channel Group Category SIP/kwe-081bf188 100 (default) SIP/katrin-081b70a8 200 (default) SIP/katrin-081bb020 200 (default) SIP/hans-0816b8b8 150 (default) which seems correct to me. In case of a transfer of kwe to hans (katrin leaving), the result is: pbxtest*CLI> group show channels Channel Group Category SIP/kwe-081bf188 100 (default) SIP/kwe-081bf188 200 (default) SIP/hans-0816b8b8 150 (default) I am confused about the second line, which leads to trouble. The above context would think, that katrin is busy. In case of a blind transfer everything is ok (the second line does not exist) I have tested the above with * 1.4.14, 1.4.18-rc4 and 1.4.19 Is this a bug or a feature? Am I doing something wrong or should I file a bug report? Thanks in advance, Regards Karsten