[Asterisk-Users] Re: Re: How to enable call waiting on Sip Phones

Pele Zico daysmen3 at yahoo.co.uk
Mon May 29 15:56:54 MST 2006


Time Bandit wrote:

>> I gathered that but it has its uses.  Could you then give us soem tips on
>> how to get this working.  Call forwarding is a done deal but i cant seem
>> to
>> find any info on call waiting anywhere?  Help needed.  Customer
>> fustrated.
> Are you using Asterisk at home ?
> 
> If not, are you using AMP (now FreePBX) or you just coded your
> dialplan yourself ?
> 
> If it is a custom dialplan, please post it.
> 
> What SIP phone are you using ?
> 
> We need more info to help 

Custom dial plan attached 


> _______________________________________________
> --Bandwidth and Colocation provided by Easynews.com --
> 
> Asterisk-Users mailing list
> To UNSUBSCRIBE or update options visit:
>    http://lists.digium.com/mailman/listinfo/asterisk-users
-------------- next part --------------
[general]
static=yes
writeprotect=yes

[globals]

;
; Timeout in seconds
;
LONGTIMEOUT=70
SHORTTIMEOUT=5
MEDTIMEOUT=20

[Internal-Calls]
exten => 1002,1,Macro(call-internal,SIP/1002,${MEDTIMEOUT},rtT,1002 at Internal-VM)
exten => 1003,1,Macro(call-internal,SIP/1003,${MEDTIMEOUT},rtT,1003 at Internal-VM)
exten => 1004,1,Macrorcall-internal,SIP/1004,${MEDTIMEOUT},rtT,1004 at Internal-VM)
exten => 1005,1,Macrorcall-internal,SIP/1005,${MEDTIMEOUT},rtT,1005 at Internal-VM)
exten => 8000,1,Set(VMBOX=${CALLERID(num)})
exten => 8000,2,VoicemailMain(${VMBOX}@Internal-VM)
exten => 8000,3,Hangup

[Outgoing-FWD]
include => Invalid-Ext
exten => _8.,1,Macro(call-voip-dial,IAX2/FWD-OUTGOING/${EXTEN:1},${LONGTIMEOUT})
exten => _7.,1,Macro(call-voip-dial,SIP/FWD-OUTGOING/${EXTEN:1},${LONGTIMEOUT})

[macro-call-internal]
;; ARG1=Resource type
;; ARG2=Timeout value in seconds
;; ARG3=Dial options
;; ARG4=User voicemail box
exten => s,1,Playback(1.2.1/pls-wait-connect-call)
exten => s,2,Wait(2)
exten => s,3,Dial(${ARG1},${ARG2},${ARG3})
exten => s,4,SetGlobalVar(VMMAILBOX=${ARG4})
exten => s,5,Goto(Call-Status,s-${DIALSTATUS},1)

[macro-call-voip-dial]
exten => s,1,Playback(1.2.1/pls-wait-connect-call)
exten => s,2,Wait(2)
exten => s,3,Dial(${ARG1},${ARG2},${ARG3})
exten => s,4,Goto(Call-Status,s-${DIALSTATUS},1)

[macro-call-forwarding]
exten => 

;----CALL STATUS ROUTINES----
;;
; Call error functions are called by the routines that need them.  This makes it 
; easier to maintain since error routines ought to be the same regardless of 
; what channel uses them  

;; Busy, Noanswer and Chanunavail status (not yet implemented) will send caller to voicemail.  If voicemail cannot be accessed caller 
;; will be notified regarding the status of the line.  

[Call-Status]
exten => s-ANSWER,1,SetGlobalVar(FOUNDME=ANSWER)
exten => s-ANSWER,2,Goto(s-CLEANEXIT,1)

exten => s-BUSY,1,Voicemail(b${VMMAILBOX})
exten => s-BUSY,2,Goto(s-CLEANEXIT,1)
exten => s-BUSY,3,Background(1.2.1/the-party-you-are-calling)
exten => s-BUSY,4,Background(1.2.1/is-curntly-busy)
exten => s-BUSY,5,SetGlobalVar(FOUNDME=BUSY)
exten => s-BUSY,6,Goto(s-CLEANEXIT,1)
exten => s-BUSY,102,Goto(s-BUSY,3)

exten => s-CANCEL,1,Background(1.2.1/cancelled)
exten => s-CANCEL,2,SetGlobalVar(FOUNDME=CANCEL)
exten => s-CANCEL,3,Goto(s-CLEANEXIT,1)

exten => s-CHANUNAVAIL,1,Voicemail(u${VMMAILBOX})
exten => s-CHANUNAVAIL,2,Goto(s-CLEANEXIT,1)
exten => s-CHANUNAVAIL,3,Background(1.2.1/channel)
exten => s-CHANUNAVAIL,4,Background(1.2.1/is-curntly-unavail)
exten => s-CHANUNAVAIL,5,SetGlobalVar(FOUNDME=CHANUNAVAIL)
exten => s-CHANUNAVAIL,6,Goto(s-CLEANEXIT,1)
exten => s-CHANUNAVAIL,102,Goto(s-CHANUAVAIL,3)

exten => s-CONGESTION,1,Background(1.2.1/check-number-dial-again)
exten => s-CONGESTION,2,SetGlobalVar(FOUNDME=CHANUNAVAIL)
exten => s-CONGESTION,3,Goto(s-CLEANEXIT,1)

exten => s-NOANSWER,1,Voicemail(u${VMMAILBOX})
exten => s-NOANSWER,2,Goto(s-CLEANEXIT,1)
exten => s-NOANSWER,3,Background(1.2.1/nbdy-avail-to-take-call)
exten => s-NOANSWER,4,SetGlobalVar(FOUNDME=NOANSWER)
exten => s-NOANSWER,5,Goto(s-CLEANEXIT,1)
exten => s-NOANSWER,102,Goto(s-NOANSWER,3)

exten => s-.,1,Background(1.2.1/something-terribly-wrong)
exten => s-.,n,SetGlobalVar(FOUNDME=ERROR)
exten => s-.,n,Goto(s-CLEANEXIT,1)

exten => s-CLEANEXIT,1,Hangup
exten => s-CLEANEXIT,2,NoOp

;;
;;

;; This context is used to trap invalid dialed extensions
[Invalid-Ext]
exten => s,1,Answer
exten => s,2,Gotoif($["${FOUNDME}"= ""]?:6) 
exten => _.,1,Wait(.5) 
exten => _.,n,Playback(vm-extension) 
exten => _.,n,SayAlpha(${EXTEN}) 
exten => _.,n,Playback(invalid) 
exten => _.,n,Wait(.5)
exten => _.,n,Playtones(congestion) 
exten => _.,n,Wait(1.5)
exten => _.,n,StopPlayTones()
exten => _.,n,Hangup
exten => t,1,Goto(Call-Status,s-CLEANEXIT,1)
exten => h,1,Goto(Call-Status,s-CLEANEXIT,1)


[default]
include => Outgoing-FWD

[Internal-Users]
include => Internal-Calls
include => Outgoing-FWD


More information about the asterisk-users mailing list