Page Multiple Tenants at Once
If you would require to page to all or to a certain number of tenants at once, you can create a very simple custom script. See our Custom Scripts page on Developer Resource Center.

2007-10-13

ScopServ Telephony 1.4.5, Asterisk 1.4.13 and Wanpipe 3.2.0
more...



Custom Scripts (Dialplan)

This page contains various Custom Scripts (Dialplan) for ScopServ Telephony Server.

DISA script for Incoming Call (Script)

Create an Incoming Line in Lines -> Incoming Lines, use Custom Script as the destination and select this script name.

To add a new user, type the following command from Asterisk CLI:

database put disa PHONENUMBER/home PASSWORD
database put disa PHONENUMBER/out OUTGOING_CALLERID
database put disa PHONENUMBER/cos CLASS_OF_SERVICE; (ex. all-default)


exten => s,1,Answer()
exten => s,2,DigitTimeout(2)
exten => s,3,ResponseTimeout(3)
exten => s,4,DBget(pass=disa/${CALLERIDNUM}/home) ; Incoming CallerID
exten => s,105,Congestion ; If caller is not in the database
exten => s,5,DBget(clid=disa/${CALLERIDNUM}/out)  ; Outgoing CallerID
exten => s,6,Wait(1)
exten => s,7,NoOp(Authenticate)
exten => s,8,Authenticate(${pass}) ; Authentication
exten => s,109,Congestion
exten => s,9,DigitTimeout(5)
exten => s,10,ResponseTimeout(10)
exten => s,11,DBget(cos=disa/${CALLERIDNUM}/cos)  ; Class Of Service
exten => s,12,DISA(no-password|${cos}|${clid})

Ask for a password and dial an Outgoing number (from IVR) (Macro)

In Applications -> Auto-Attendants, add a new Menu and assign this script to a custom key (ex. 9X.).


exten => s,1,Authenticate(PASSWORD)
exten => s,2,Dial(Local/${MACRO_EXTEN:1}@CLASS_OF_SERVICE)
; (ex. all-outgoing)

Enter an 8 digits code + phone number and add CDR info (Macro)



exten => s,1,SetVar(CODE_CLIENT=${MACRO_EXTEN:0:4})
exten => s,2,SetVar(CODE_PROJECT=${MACRO_EXTEN:3:4})
exten => s,3,SetVar(DIAL_NUMBER={MACRO_EXTEN:-8})
exten => s,4,NoOp(CLIENT.... : ${CODE_CLIENT})
exten => s,5,NoOp(PROJECT... : ${CODE_PROJECT})
exten => s,6,SetCDRUserField(${CODE_CLIENT}-${CODE_PROJECT})
exten => s,7,Dial(Local/${DIAL_NUMBER}@all-outgoing)
exten => s,8,Congestion

Put an Agent on Pause, play Music On Hold then Unpause (Macro)

In Applications -> Applications, add a new Application and assign this script as destination.


exten => s,1,Answer
exten => s,2,Set(AGENTINFO=${AGENTBYCALLERID_${CALLERID(number)}})
exten => s,3,GotoIf($["X${AGENTINFO}" = "X"]?100:4)
exten => s,4,Set(AGENTSTATUS=${AGENT(${AGENTINFO})})
exten => s,5,GotoIf($["${AGENTSTATUS}" = "LOGGEDOUT"]?100:6)
exten => s,6,GotoIf($["${AGENTSTATUS}" = "NOTFOUND"]?100:7)
exten => s,7,PauseQueueMember(|Agent/${AGENTINFO})
exten => s,8,Set(DB(default/Agent/${AGENTINFO})=${PQMSTATUS})
exten => s,9,Playback(scopserv/agent-paused)
exten => s,10,Goto(playmoh,1)
	    
exten => s,100,Playback(scopserv/agent-notconnected)
exten => s,101,Hangup
  
exten => h,1,Goto(unpause,1)
    
exten => playmoh,1,MusicOnHold(default)
      
exten => unpause,1,Set(AGENTSTATUS=${AGENT(${AGENTINFO})})
exten => unpause,2,UnpauseQueueMember(|Agent/${AGENTINFO})
exten => unpause,3,Set(DB(default/Agent/${AGENTINFO})=${PQMSTATUS})

Page Multiple Tenants at Once (Script)

If you would require to page to all or to a certain number of tenants at once, create the following custom script...

In Applications -> Applications, add a new Application, enable Shared Application mode and assign this script as destination.


; You must create one or multiple Page Application.
; If you create Page application '100' on tenant 'default', you must
; dial Local/100@default-application
;
exten => s,1,Dial(Local/exten@company1-application&Local/exten@lab-application[&...])