Created
August 22, 2021 23:41
-
-
Save ShaRose/0e78fd48ef3b570f7325f99821d18893 to your computer and use it in GitHub Desktop.
freepbx extension code for SMS via sip message
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[sms-in] | |
exten => _.,1,NoOp(Inbound SMS dialplan invoked) | |
exten => _.,n,NoOp(To ${MESSAGE(to)}) | |
exten => _.,n,NoOp(From ${MESSAGE(from)}) | |
exten => _.,n,NoOp(Body ${MESSAGE(body)}) | |
exten => _.,n,Set(ACTUAL_FROM=${MESSAGE(from)}) | |
exten => _.,n,Set(HOST_TO=${CUT(MESSAGE(to),@,2)}) | |
exten => _.,n,Set(NUMBER_TO=${MESSAGE_DATA(X-SMS-To)}) | |
exten => _.,n,Gosub(sms-in,T_${NUMBER_TO},1) | |
exten => _.,n,Hangup() | |
COPY THIS PART FOR EACH DID | |
exten => T_{DEST_DID_NUMBER},1,MessageSend(pjsip:{DEST_EXT}@{HOST_TO},{ACTUAL_FROM}) | |
exten => T_{DEST_DID_NUMBER},n,NoOp(Send status is {MESSAGE_SEND_STATUS}) | |
exten => T_{DEST_DID_NUMBER},n,Return() | |
[sms-out] | |
exten => _.,1,NoOp(Outbound Message dialplan invoked) | |
exten => _.,n,NoOp(To ${MESSAGE(to)}) | |
exten => _.,n,NoOp(From ${MESSAGE(from)}) | |
exten => _.,n,NoOp(Body ${MESSAGE(body)}) | |
exten => _.,n,Set(NUMBER_TO=${CUT(CUT(MESSAGE(to),@,1),:,2)}) | |
exten => _.,n,Set(EXTENSION_FROM=${CUT(CUT(MESSAGE(from),@,1),:,2)}) | |
COPY THIS PART FOR EACH DID | |
exten => _.,n,Set(CASE_{DEST_EXT}={DEST_DID_NUMBER}) | |
exten => _.,n,Set(NUMBER_FROM=${CASE_${EXTENSION_FROM}}) | |
exten => _.,n,GosubIf($[${LEN(${NUMBER_TO})} = 7]?sms-out,PAD,1) | |
exten => _.,n,Gosub(sms-out,F_${NUMBER_FROM},1) | |
exten => _.,n,Hangup() | |
exten => PAD,1,NoOp(Padding ${NUMBER_TO} with {DEFAULT_AREA_CODE}) | |
exten => PAD,n,Set(NUMBER_TO={DEFAULT_AREA_CODE}${NUMBER_TO}) | |
exten => PAD,n,Return() | |
COPY THIS PART FOR EACH DID | |
exten => F_{DEST_DID_NUMBER},1,Set(ACTUAL_FROM="${NUMBER_FROM}" <sip:{TRUNK_USER}@{TRUNK_ADDR}>) | |
exten => F_{DEST_DID_NUMBER},n,Set(ACTUAL_TO=pjsip:{TRUNK_NAME}/sip:${NUMBER_TO}@{TRUNK_ADDR}) | |
exten => F_{DEST_DID_NUMBER},n,MessageSend(${ACTUAL_TO},${ACTUAL_FROM}) | |
exten => F_{DEST_DID_NUMBER},n,NoOp(Send status is ${MESSAGE_SEND_STATUS}) | |
exten => F_{DEST_DID_NUMBER},n,Return() |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment