Текстовые сообщения SIP/SIMPLE в Asterisk

от автора

Во время очередной телефонизации очередного офиса я обратил внимание на то, что в выбранном нами софтфоне MicroSIP имеется некий встроенный «чат», который однако же не работает «из коробки».

image

Для пересылки сообщений эта программа использует метод 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)})

Ура, всё работает!

image

можно посылать сообщения на аппаратные телефоны:

image

Ну а умельцы могут доработать диалпан для разных целей, например для посылки 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/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *