Я создал несколько соединений SMSC SMPP.Конфигурация Kannel для нескольких smsc
после настройки я отправил sms, но sms отправлен со случайным smsc.
Как я могу управлять каналом для отправки sms с smpp, который я хочу отправить.
Я создал несколько соединений SMSC SMPP.Конфигурация Kannel для нескольких smsc
после настройки я отправил sms, но sms отправлен со случайным smsc.
Как я могу управлять каналом для отправки sms с smpp, который я хочу отправить.
Вы можете указать, что SMSC для отправки через в представлении к серверу Каннель, например:
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
Documentation here под «Таблица 6-16. Переменные CGI для SMS (send-sms)».
Ответ не завершен. Smsc-id и переменная $ smsc не обязательно связаны между собой. Следуя документации Kannel для smsc-id: «Обратите внимание, что если соединение SMS Center имеет назначенный ID SMSC, это НЕ означает, что сообщения с идентичным ID SMSC направляются на него, вместо этого конфигурируются переменные denied-smsc-id, разрешенные -smsc-id и preferred-smsc-id. " –
По умолчанию Kannel будет маршрутизировать сообщение циклически между всеми подключенными SMSC.
Есть три параметра SMSC, которые управляют маршрутизацией к определенному SMSC:
отказано-SMSC-ID SMS сообщение с SMSC ID равный любому из идентификаторов в этом списке никогда не проложенный в этот SMSC. Несколько записей разделяются точкой с запятой («;»)
разрешено-SMSC-идентификатор Этот список противоположен предыдущий: только SMS сообщения с SMSC ID в этом списке никогда не направляются на этот SMSC. Несколько записей разделяются точкой с запятой («;»)
Preferred-SMSC-ID SMS-сообщения с SMSC ID из этого списка, отправленные на этот SMSC вместо того, чтобы, чем SMSC без этого ID в качестве предпочтительного. Несколько записей разделяются точкой с запятой («;»)
Манипуляция с этими переменными позволяет создавать из очень простых до очень сложных сценариев маршрутизации.
Вот очень простой пример:
Предположим, у нас есть 2 SMSC, smsc1
и smsc2
, и мы хотим направить смс сообщения на один из этих 2 SMSC. В нашем файле Kannel конфигурации мы добавим следующие строки:
group = smsc
smsc-id = smsc1
allowed-smsc-id = smsc1
group = smsc
smsc-id = smsc2
allowed-smsc-id = smsc2
Теперь мы можем определить, что SMSC для отправки через в запросе на Каннель SendSMS интерфейса:
GET /kannel/sendsms?smsc=SMSC_ID&to=TO&text=TEXT
где SMSC_ID может быть один из smsc1
или smsc2
.
В этом примере, если мы не укажем какой-либо smsc в запросе GET, sms не будет соответствовать ни одному из правил для smsc1
или smsc2
и не будет отправлен.Мы можем избежать этого, установив SMSC по умолчанию, который будет использоваться всего исходящим сообщением следующего SendSMS пользователей переменной группы:
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 смс будет перенаправлен на SMSC с этим идентификатором , но когда мы этого не сделаем, Kannel вернется к круговому повороту между smsc1
и smsc2
.
Для более продвинутых применений:
Для понимания более углубленная маршрутизации Каннели и более сложных сценариев, вы также можете проверить эту тему:
http://old.nabble.com/Routing-of-outgoing-sms-td19723248.html
Ужасно, но нет содержания по выставленному URL – ghost28147
Может ли я знать, как сделал вы настраиваете 'kannel' для нескольких подключений' smsc'? – Kulasangar