Вопрос

Я создал несколько SMSC SMPP -соединения.

После конфигурации я отправил SMS, но SMS отправляется со случайным SMSC.

Как я могу контролировать Kannel для отправки SMS с SMPP, которые я хочу отправить.

Это было полезно?

Решение

Вы можете указать, что SMSC отправлять в представлении на сервер Kannel, например:

GET /cgi-bin/sendsms?smsc=$smsc&username=$user&password=$password&to=$receipient&text=$text&dlr-mask=$dlrMask&dlr-url=$dlrUrl

куда $smsc должен соответствовать а smsc-id у вас есть в kannel.conf

Документация здесь, под «Таблица 6-16. SMS Push (Send-SMS) переменные CGI».

Другие советы

По умолчанию Kannel будет направлять сообщение в круглом ребине между всеми подключенными SMSC.

Есть три параметра SMSC, которые контролируют маршрутизацию до определенного SMSC:

  • denied-smsc-id SMS -сообщения с SMSC ID, равным любому из идентификаторов в этом списке, никогда не направляются в этот SMSC. Несколько записей разделены с полуколонами (';')

  • разрешен SMSC-ID Этот список противоположна предыдущему: только SMS -сообщения с SMSC ID в этом списке когда -либо направляются в этот SMSC. Несколько записей разделены с полуколонами (';')

  • Предпочтительный SMSC-ID SMS -сообщения с SMSC ID из этого списка отправляются в этот SMSC вместо этого, чем в SMSC без этого идентификатора, как предпочтительнее. Несколько записей разделены с полуколонами (';')

Жонглирование этими переменными позволяет создавать из очень простых в очень сложных сценариев маршрутизации.

Вот очень основной пример:

Предположим, у нас есть 2 SMSC, smsc1 а также smsc2 И мы хотим направить SMS -сообщения на один из этих 2 SMSC. В нашем файле конфигурации Kannel мы добавляем следующие строки:

group = smsc
smsc-id = smsc1
allowed-smsc-id = smsc1

group = smsc
smsc-id = smsc2
allowed-smsc-id = smsc2

Теперь мы можем указать, какой SMSC отправлять в запросе на интерфейс Kannel Sendsms:

GET /kannel/sendsms?smsc=SMSC_ID&to=TO&text=TEXT

где smsc_id может быть одним из smsc1 или же smsc2.

В этом примере, если мы не указаем никакого SMSC в запросе GET, SMS не будет соответствовать ни одного из правил для smsc1 или же smsc2 и не будет отправлено. Мы можем избежать этого, установив SMSC по умолчанию для использования всем исходящим сообщением со следующим Sendsms-User Групповая переменная:

  • по умолчанию-SMSC Строка Если с помощью HTTP -запроса не указан SMSC -идентификатор, используйте этот маршрут по умолчанию для всех push -сообщений.
group = sendsms-user
default-smsc = smsc1

Другой вариант - использовать denied-smsc-id переменная:

group = smsc
smsc-id = smsc1
denied-smsc-id = smsc2

group = smsc
smsc-id = smsc2
denied-smsc-id = smsc1

С помощью этой конфигурации, когда мы указываем SMSC в HTTP-запросе, SMS будет направлен в SMSC с помощью этого идентификатора, но когда мы не сделаем, Kannel вернется к круглосуточному кругу между smsc1 а также smsc2.

Для более продвинутого использования:

Для более глубокого понимания маршрутизации Kannel и более сложных сценариев вы также можете проверить эту ветку:

http://old.nabble.com/routing-ofwoge-sms-td19723248.html

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top