多个 SMSC 的 Kannel 配置
我创建了多个 SMSC SMPP 连接。
配置后,我已发送短信,但短信是使用随机短信发送的。
我如何控制kannel使用我想发送的smpp发送短信。
I have created multiple SMSC SMPP connection.
after configuration i have send sms but sms is send with random smsc.
How can i control kannel to send sms with smpp which i want to send.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
默认情况下,Kannel 将以循环方式在所有连接的 SMSC 之间路由消息。
有三个 SMSC 参数控制到特定 SMSC 的路由:
denied-smsc-id SMSC ID 等于此列表中任何 ID 的 SMS 消息永远不会路由到此 SMSC。多个条目以分号 (';') 分隔
allowed-smsc-id 此列表与上一个列表相反:只有具有此列表中的 SMSC ID 的 SMS 消息才会路由到此 SMSC。多个条目以分号 (';') 分隔
首选-smsc-id 具有此列表中的 SMSC ID 的 SMS 消息将发送到此 SMSC,而不是发送到没有该 ID 的 SMSC(首选)。多个条目以分号 (';') 分隔
通过使用这些变量,您可以创建从非常简单到非常复杂的路由方案。
这是一个非常基本的示例:
假设我们有 2 个 SMSC,
smsc1
和smsc2
,并且我们希望将 SMS 消息路由到这 2 个 SMSC 之一。在我们的 kannel 配置文件中,我们添加以下行:现在,我们可以指定在向 kannel 发送短信接口的请求中通过什么 smsc 发送:
其中 SMSC_ID 可以是
smsc1
或smsc2
之一代码>.在此示例中,如果我们在 GET 请求中未指定任何 SMSC,则该 SMS 将不匹配
smsc1
或smsc2
的任何规则,并且不会被发送。我们可以通过使用以下 sendsms-user 组变量设置所有传出消息使用的默认 SMSC 来避免这种情况:另一种选择是使用
denied-smsc-id
变量:使用此配置,当我们在 HTTP 请求中指定 smsc 时,短信将被路由到具有该 id 的 SMSC,但是当我们不指定 SMSC 时,短信将被路由到具有该 ID 的 SMSC。此时,Kannel 将退回到
smsc1
和smsc2
之间的循环。对于更高级的用途:
要更深入地了解 Kannel 的路由和更复杂的场景,您还可以查看此线程:
http://old.nabble.com/Routing-of-outgoing-sms-td19723248.html
By default, Kannel will route the message in a round-robin way between all connected SMSCs.
There are three SMSC parameters which control the routing to a specific SMSC:
denied-smsc-id SMS messages with SMSC ID equal to any of the IDs in this list are never routed to this SMSC. Multiple entries are separated with semicolons (';')
allowed-smsc-id This list is opposite to previous: only SMS messages with SMSC ID in this list are ever routed to this SMSC. Multiple entries are separated with semicolons (';')
preferred-smsc-id SMS messages with SMSC ID from this list are sent to this SMSC instead than to SMSC without that ID as preferred. Multiple entries are separated with semicolons (';')
Juggling with these variables allows you to create from very simple to very complex routing scenarios.
Here is a very basic example:
Suppose we have 2 SMSC,
smsc1
andsmsc2
and we want to route sms messages to one of those 2 SMSC. In our kannel config file we add the following lines:Now, we can specify what smsc to send through in the request to kannel sendsms interface:
where SMSC_ID can be one of
smsc1
orsmsc2
.In this example, if we don't specify any smsc in the GET request, the sms will not match any of the rules for
smsc1
orsmsc2
and will not be sent. We can avoid this by setting a default SMSC to be used by all outgoing message with the following sendsms-user group variable:Another option would be to use the
denied-smsc-id
variable:With this configuration, when we specify the smsc in the HTTP request the sms will be routed to the smsc with that id, but when we don't, Kannel will fall back to a round-robin between
smsc1
andsmsc2
.For more advanced uses:
For a more in-depth understanding of Kannel's routing and more complex scenarios you can also check out this thread:
http://old.nabble.com/Routing-of-outgoing-sms-td19723248.html
您可以指定在提交到 kannel 服务器时通过什么 smsc 发送,例如:
其中
$smsc
应与您在 kannel.conf 中的smsc-id
相匹配< a href="http://www.kannel.org/download/1.5.0/userguide-1.5.0/userguide.html" rel="nofollow">此处的文档,位于“表 6-16”下。短信推送(发送短信)CGI 变量”。
You can specify what smsc to send through in the submission to the kannel server, for example:
where
$smsc
should match asmsc-id
you have in your kannel.confDocumentation here, under "Table 6-16. SMS Push (send-sms) CGI Variables".