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...



Scripts Personnalis¨¦ (Plan d'appel)

Cette page contient divers scripts personnalis¨¦s (Plan d'Appel) pour le serveur de T¨¦l¨¦phonie de ScopServ.

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[&...])