Для пересылки сообщений эта программа использует метод SIP MESSAGE (RFC 3428), известный также как протокол SIMPLE.
В Asterisk его поддержка появилась в версии 10, но документация тут, как это часто бывает, сильно отстала от прогресса. Пришлось сначала долго искать по форумам различные варианты конфигурации, а потом методом проб и ошибок их испытывать.
В результате была выработана такая работающая конфигурация (верна для Asterisk 11.6.0).
В секцию [general] файла sip.conf (для владельцев систем на базе FreePBX — в файл sip_general_custom.conf) добавляются строки:
accept_outofcall_message = yes outofcall_message_context = messages auth_message_requests = no
А в dialplan (для FreePBX — в файл extensions_custom.conf) добавляется такой контекст:
[messages] exten => _XXX,1,MessageSend(sip:${EXTEN},"${CALLERID(name)}"${MESSAGE(from)})
Ура, всё работает!
можно посылать сообщения на аппаратные телефоны:
Ну а умельцы могут доработать диалпан для разных целей, например для посылки SMS или электронной почты. Содержимое сообщения находится в переменных ${MESSAGE(from)} ${MESSAGE(to)} и ${MESSAGE(body)}
Также есть смысл попробовать выставить auth_message_requests = yes — но тут могут возникнуть проблемы с совместимостью.
Также важно не спутать то, о чём идёт речь в статье, с настройкой textsupport — эта настройка в Asterisk отвечает за совсем другой протокол, ITU-T T.140 realtime text.
К сожалению у меня ${CALLERID(name)} получается всегда пустой. Может быть читатели смогут подсказать решение?
ссылка на оригинал статьи http://habrahabr.ru/post/207622/
Добавить комментарий