Pull to refresh
1
Karma
0
Rating
  • Followers 1
  • Following 1

SMS через SIP messaging в Asterisk

IT Infrastructure *Asterisk *
Tutorial

По немногочисленным просьбам трудящихся я расскажу как заворачивать GSM SMS из sip_dongle модуля для Asterisk в sip messaging с последующей маршрутизацией.

Немного ТЗ

Есть центральный узел Asterisk, на котором живет логика и пользователи (extensions). К нему подключаются через PJSIP другие оконечные Asterisk`и на которых висит по несколько GSM модемов.

- Одна из задач: принимать и отправлять GSM SMS сообщения правильно маршрутизируя их по номеру получателя.

- Вторая подзадача: дать нашим пользователям (extensions) возможность слать друг другу текстовые сообщения.

Итак. Что тут сложного и в чем подвох?

Когда у вас 1 модем и 1 extension все очень просто. Когда у вас 2 модема и 1 extension задача все еще простая.

Когда у вас “многое ко многим” — вот тут и кроется основна сложность. Т.е. нам нужно не просто понимать на какой конкретно модем какому конкретно Asterisk`у передать исходящее SMS, но и куда направить входящее из GSM сети сообщение. А так же что делать, если мы внутри себя не можем сообщения доставить.

Обозначения:

- gsmru 10.8.0.11 — оконечный сервер Asterisk на котором живут модемы
- 10.8.0.10 — центральный сервер Asterisk на котором крутится вся логика
- 101;102;103 - пользователи (extensions)
- sip - протокол ходит по 80му порту (так исторически сложилось)

Начнем разворачивать цепочку от оконечного Asterisk (gsmru) с модемами в сторону центрального сервера. Это канал приема сообщений и проще его объяснять именно так.

Работать с SMS можно по разному, но в моем случае я использую sqlite, который у меня /var/lib/asterisk/smsdb.sqlite3. Это сделано так чтобы можно было легко оперировать сообщениями, создавать очереди доставки в обе стороны и не переживать за всякие проблемы вида «я записал что-то в файл и мне нужно успеть это вычитать пока туда не записалось следующее, а заодно проверить что там нет «патча Бармина».

Читать далее
Total votes 1: ↑1 and ↓0 +1
Views 3.1K
Comments 5

Cosmo Communicator — возможно еще один Linux телефон

Configuring Linux *Development for Android *Julia *Development for Linux *Smartphones
Sandbox

Возможно еще один Linux телефон, но это не точно... не точно - что получится, хотя даже то что есть очень любопытно.

Под катом я достаточно поверхностно расскажу про аппарат, а если зайдет - напишу уже более глубокую техническую статью или отвечу на вопросы.

Читать далее
Total votes 19: ↑18 and ↓1 +17
Views 12K
Comments 28

Information

Rating
Does not participate
Registered
Activity