Использование сервиса мгновенных сообщений в Asterisk



Сервер телефонии Asterisk начиная с версии 10 позволяет использовать протокол SIP/SIMPLE для отправки мгновенных сообщений абонентам, поддерживающим данный протокол.
Для использования данного функционала необходимо выполнить следующие шаги:

1. В конфигурационном файле sip.conf добавить для всех абонентов:
accept_outofcall_message = yes
outofcall_message_context = astsms
2. Добавить контекст astsms в extensions.conf:
[astsms]
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,Set(ACTUALTO=${CUT(MESSAGE(to),@,1)})
exten => _.,n,MessageSend(${ACTUALTO},${MESSAGE(from)})
exten => _.,n,NoOp(Send status is ${MESSAGE_SEND_STATUS})
exten => _.,n,GotoIf($["${MESSAGE_SEND_STATUS}" != "SUCCESS"]?sendfailedmsg)
exten => _.,n,Hangup()
;
; Handle failed messaging
exten => _.,n(sendfailedmsg),Set(MESSAGE(body)="[${STRFTIME(${EPOCH},,%d%m%Y-%H:%M:%S)}] Your message to ${EXTEN} has failed. Retry later.")
exten => _.,n,Set(ME_1=${CUT(MESSAGE(from),<,2)})
exten => _.,n,Set(ACTUALFROM=${CUT(ME_1,@,1)})
exten => _.,n,MessageSend(${ACTUALFROM},ServiceCenter)
exten => _.,n,Hangup()
exten => _.,n,Hangup()
3. Выполнить обновление конфигурации Asterisk в его консоли:
sip reload
dialplan reload
4. В зависимости от модели SIP-телефона или версии софтфона, провести настройку сервера мгновенных сообщений, указав адрес сервера Asterisk.

Вадим Соколович 
http://efsol.ru/solutions/data-protection.html

Комментариев нет:

Отправить комментарий