Отправка СМС из SIP клиента на мобильный

SIP/Messages/Dongle

Alexcr

Предположим что у нас уже настроен chan_dongle и звонки проходят, но как же с отправкой и получением СМС. Отправить используя email не интересно, ведь сейчас почти все сип клиенты (PC, android, iphone) поддерживают передачу сообщений используя SIP. Приступим 

1) Готовим астер для обмена сип сообщениями 

sip.conf  в секции general 

textsupport=yes
accept_outofcall_message = yes 
outofcall_message_context = messages 
auth_message_requests = no  

extensions.conf

[messages] ; локальные сообщения между сип клиентами 

exten => _XXX,1,NoOp(Message receiving dialplan)
exten => _XXX,n,NoOp(To ${MESSAGE(to)})
exten => _XXX,n,NoOp(From ${MESSAGE(from)})
exten => _XXX,n,NoOp(Body ${MESSAGE(body)})
exten => _XXX,n,Set(LOCALTO=${CUT(MESSAGE(to),@,1)})
exten => _XXX,n,MessageSend(${LOCALTO},${MESSAGE(from)})
exten => _XXX,n,NoOp(Send status is ${MESSAGE_SEND_STATUS})
exten => _XXX,n,GotoIf($["${MESSAGE_SEND_STATUS}" != "SUCCESS"]?sendfailedmsg)
exten => _XXX,n,Hangup()
;
; failed send messaging
exten => _XXX,n(sendfailedmsg),Set(MESSAGE(body)="[${STRFTIME(${EPOCH},,%d%m%Y-%H:%M:%S)}] Your message to ${EXTEN} has failed. Retry later.")
exten => _XXX,n,Set(LOCALME=${CUT(MESSAGE(from),<,2)})
exten => _XXX,n,Set(LOCALFROM=${CUT(LOCALME,@,1)})
exten => _XXX,n,MessageSend(${LOCALFROM},AsteriskSMC)
exten => _XXX,n,Hangup()

; если номер моб то отправлять смс через dongle 

[send-sms]
exten => _7XXXXX.,1,NoOp(SMS send to dongle)
same => n,NoOp(To ${MESSAGE(to)})
same => n,NoOp(From ${MESSAGE(from)})
same => n,NoOp(Body ${MESSAGE(body)})
same => n,Set(SMSTO=${CUT(MESSAGE(to),@,1)})
same => n,DongleSendSMS(dongle0, "${SMSTO}", ${MESSAGE(body)}, 1440, yes)
same => n,Hangup()

; прием СМС и отправка на добавочный номер, сам добавочный должен быть указан в начали сообщения. Пример 101 Привет как дела ? 

[recieve-sms]
exten => sms,1,NooP(Incoming SMS from ${CALLERID(num)} )
same => n,NooP(From ${CALLERID(num)})
same => n,NooP(To local ${SMS:0:3})
same => n,NooP(Message - ${SMS:3})
same => n,Set(MESSAGE(body)=${SMS:3})
same => n,MessageSend(sip:${SMS:0:3},${CALLERID(num)})
same => n,Hangup()

Приятного смс общения !


 


  • Alexcr
    on 15/03/2018 09:12:52 ДП

    добавьте его в messages как include
    [messages]
    include => send-sms