[asterisk-users] Fwd: Call Wainting dysfunctions

Lorenzo Grosselli lorgr25 at virgilio.it
Fri Jun 29 06:28:10 CDT 2007


I am trying to implement a Centralized Call Waiting System. I have red
some document about asterisk group features to manage group and
category of a sip channel.

I have done a lot of test about it but always it doesn't work
correctly if I transfer the call.

This is the macro code I use for inbound calls.

[macro-test]
; ${ARG1} - technology something like SIP
; ${ARG2} - resource. snom300-for-vasya
; ${ARG3} - dial timeout
; ${ARG4} - dial options
; ${ARG5} - dial  url

exten => s,1,Goto(s-set-variables,1)
exten => s,n(set_var_ret),Set(GROUP(${LOCAL_PARTY})=OUTBOUND_GROUP)
exten => s,n,GotoIf($[${GROUP_COUNT(OUTBOUND_GROUP@${LOCAL_PARTY})} >
1]?play_back_busy)
exten => s,n,GotoIf($[${LEN(${CALLERIDNUM})} != 4]?skip_down)
exten => s,n,Set(GROUP(${CALLERIDNUM})=OUTBOUND_GROUP)

exten => s,n(skip_down),Noop("Test")
exten => s,n,NoOp(${OUTBOUND_GROUP})
exten => s,n,Dial(${TECHNOLOGY}/${LOCAL_PARTY}|${DIAL_TIMEOUT})

exten => s,n(macro_out),MacroExit()

exten => s,n(play_back_busy),GotoIf($[zoo${BUSYOPT} = zooNoBusy]?macro_out)
exten => s,n,Busy

; // -------- set variables
exten => s-set-variables,1,Set(TECHNOLOGY=${ARG1})
exten => s-set-variables,n,Set(LOCAL_PARTY=${ARG2})
exten => s-set-variables,n,Set(DIAL_TIMEOUT=${ARG3})
exten => s-set-variables,n,Goto(s,set_var_ret)

; // -------- check dnd

I have only SIP hardware Phone with g729 codec.

When I call an internal from another one this is the output of "group
show channels" in console:

Channel                    Group                 Category
SIP/3673-b73ef7c0          OUTBOUND_GROUP        3673
SIP/3673-b73ef7c0          OUTBOUND_GROUP        3671

When I am tranfering the call from the destination to another
extension this is the output of the same command:

Channel                    Group                 Category
SIP/3671-b73501c0          OUTBOUND_GROUP        3671
SIP/3671-b73501c0          OUTBOUND_GROUP        3700
SIP/3673-b73ef7c0          OUTBOUND_GROUP        3673
SIP/3673-b73ef7c0          OUTBOUND_GROUP        3671

After the transfer the output is the follow but the call now is
between 3673 and 3700 extensions.

Channel                    Group                 Category
SIP/3673-b73ef7c0          OUTBOUND_GROUP        3673
SIP/3673-b73ef7c0          OUTBOUND_GROUP        3671

The extension 3700 seems free but it is busy.
The extension 3671 seems busy but it is free.

How can I implement a really working centralized call waiting feature?

Thanx a lot.

Lorenzo



More information about the asterisk-users mailing list