Sei sulla pagina 1di 2

[astsms2]

exten => _.,1,NoOp(SMS receiving dialplan invoked)


exten => _.,n,NoOp(To ${MESSAGE(to)})
exten => _.,n,NoOp(From ${MESSAGE(from)})
exten => _.,n,NoOp(Body ${MESSAGE(body)})
exten => _.,n,GotoIf($[ "${MESSAGE(to)}" = "sip:222@192.168.1.5" ]?rgoip)
exten => _.,n,GotoIf($[ "${MESSAGE(to)}" = "sip:ok@192.168.1.5" ]?delivery)
exten => _.,n,Set(SMSOUT=${CUT(MESSAGE(to),:,2)})
exten => _.,n,Set(SMSOUT=${CUT(SMSOUT,@,1)}%0A${MESSAGE(body)})
exten => _.,n,Set(SMSOUTRAW=${URIDECODE(${SMSOUT})})
exten => _.,n,Set(MESSAGE(body)=${SMSOUTRAW})
exten => _.,n,MessageSend(sip:919994051106, <sip:ok@192.168.1.5>)
exten => _.,n,NoOp(Send status is ${MESSAGE_SEND_STATUS})
exten => _.,n,GotoIf($["${MESSAGE_SEND_STATUS}" != "SUCCESS"]?sendfailedmsg)
exten => _.,n,Hangup()
;
; GOIP
exten => _.,n(rgoip),Set(ACTUALTO=${CUT(MESSAGE(to),@,1)})
exten => _.,n,Set(Body=${URIENCODE(${MESSAGE(body)})})
exten => _.,n,Set(AF=${STRREPLACE(Body,%0A,~)})
exten => _.,n,Set(AF=${URIDECODE(${AF})})
exten => _.,n,Set(AFROM=<sip:${CUT(AF,~,1)}@192.168.1.10>)
exten => _.,n,Set(MESSAGE(body)=${CUT(AF,~,2)})
exten => _.,n,MessageSend(${ACTUALTO},${AFROM})
exten => _.,n,NoOp(Send status is ${MESSAGE_SEND_STATUS})
exten => _.,n,GotoIf($["${MESSAGE_SEND_STATUS}" != "SUCCESS"]?sendfailedmsg)
exten => _.,n,Hangup()
;
;Delivery
exten => _.,n(delivery),MessageSend(sip:222,<sip:SMSC@192.168.1.5>)
exten => _.,n,NoOp(Send status is ${MESSAGE_SEND_STATUS})
exten => _.,n,Hangup()
;
; Handle failed messaging
exten => _X.,n(sendfailedmsg),NoOp(Sending error to user)
exten => _X.,n,Set(SRC=${MESSAGE(from)})
exten => _X.,n,Set(DST=${MESSAGE(to)})
exten => _X.,n,Set(MSG=${MESSAGE(body)})
exten => _X.,n,Set(MESSAGE(body)="[${STRFTIME(${EPOCH},,%d%m%Y-%H:%M:%S)}] Your
message to ${EXTEN} has failed. Sending when available")
exten => _X.,n,Set(ME_1=${CUT(MESSAGE(from),<,2)})
exten => _X.,n,Set(ACTUALFROM=${CUT(ME_1,@,1)})
; Line below disabled for privacy
;exten => _X.,n,MessageSend(${ACTUALFROM},ServiceCenter)
exten => _X.,n,GotoIf($["${INQUEUE}" != "1"]?startq)
exten => _X.,n,Hangup()
;
exten => _X.,n(startq),NoOp(Queueing messaging for offline)
exten => _X.,n,Set(MSGTIME=${STRFTIME(${EPOCH},,%d%m%Y-%H:%M:%S)})
exten => _X.,n,System(/var/lib/asterisk/agi-bin/astqueue.sh -SRC '${SRC}' -DST '$
{DST}' -MSG '${MSG}')
exten => _X.,n,Hangup()
exten => _X.,n(hang),Hangup()
;
;exten => _X.,n,Hangup()[app-fakeanswer]
;exten => _X.,1,NoCDR
;exten => _X.,n,Set(DESTDEV=${EXTEN})
;exten => _X.,n,Set(THISDEVSTATE=${DEVICE_STATE(SIP/${DESTDEV})})
;exten => _X.,n,GotoIf($["${THISDEVSTATE}" = "UNAVAILABLE"]?hang)
;exten => _X.,n,GotoIf($["${THISDEVSTATE}" = "UNKNOWN"]?hang)
;exten => _X.,n,Answer
exten => _X.,n,Hangup()
exten => _X.,n(hang),Hangup()
;
[app-fakeanswer]
exten => _X.,1,NoCDR
exten => _X.,n,Set(DESTDEV=${EXTEN})
exten => _X.,n,Set(THISDEVSTATE=${DEVICE_STATE(SIP/${DESTDEV})})
exten => _X.,n,GotoIf($["${THISDEVSTATE}" = "UNAVAILABLE"]?hang)
exten => _X.,n,GotoIf($["${THISDEVSTATE}" = "UNKNOWN"]?hang)
exten => _X.,n,Answer
exten => _X.,n,Hangup()
exten => _X.,n(hang),Hangup()

Potrebbero piacerti anche