通过2个smsc的KannelRoute消息

通过2个smsc的KannelRoute消息,sms,gateway,kannel,Sms,Gateway,Kannel,我是这个领域的新手。我有2个smsc服务提供商连接。若我发送100条消息,50条消息应通过第一个服务提供商发送,其余50条消息应通过第二个服务提供商发送。这可能吗?如果是,怎么做 提前谢谢 #1st service provider group = smsc smsc = smpp smsc-id = A interface-version = 34 host = xxxxx port = xxxx system-id = xxxxx smsc-password = xxxx system-

我是这个领域的新手。我有2个smsc服务提供商连接。若我发送100条消息,50条消息应通过第一个服务提供商发送,其余50条消息应通过第二个服务提供商发送。这可能吗?如果是,怎么做

提前谢谢

#1st service provider
group = smsc
smsc = smpp
smsc-id = A
interface-version = 34
host = xxxxx  
port = xxxx
system-id = xxxxx
smsc-password = xxxx
system-type = "default"
address-range = ""
transceiver-mode = true
source-addr-ton = 1
source-addr-npi = 1
dest-addr-ton = 1
dest-addr-npi = 1
bind-addr-ton = 1
bind-addr-npi = 1
log-level = 0
log-file = "/var/log/kannel/xxxxx.log"

#2nd service provider
group = smsc
smsc = smpp
smsc-id = B
interface-version = 34
host = xxxxx  
port = xxxx
system-id = xxxxx
smsc-password = xxxx
system-type = "default"
address-range = ""
transceiver-mode = true
source-addr-ton = 1
source-addr-npi = 1
dest-addr-ton = 1
dest-addr-npi = 1
bind-addr-ton = 1
bind-addr-npi = 1
log-level = 0
log-file = "/var/log/kannel/xxxxx.log" 

如果您将每条路由的smsc id设置为相同的名称,Kannel将为您实现负载平衡。如果一个SMSC停机,则所有消息将通过备用SMSC发送,该备用SMSC处于活动状态。如果两个SMSC都是活动的,那么Kannel将随机选择一个,因此您应该实现大约50/50的分布(虽然不完全是50/50)

--编辑--


抱歉,我检查过了,实际上Kannel将通过最小队列的SMSC发送消息,因此如果您的消息吞吐量较低,这将始终是第一个SMSC,您将无法实现接近50/50的分发。这在kannel源代码的gw/bb\u smscconn.c中的代码smsc2\u rout()下。

如果您将每条路由的smsc id设置为相同的名称,kannel将为您进行负载平衡。如果一个SMSC停机,则所有消息将通过备用SMSC发送,该备用SMSC处于活动状态。如果两个SMSC都是活动的,那么Kannel将随机选择一个,因此您应该实现大约50/50的分布(虽然不完全是50/50)

--编辑--

抱歉,我检查过了,实际上Kannel将通过最小队列的SMSC发送消息,因此如果您的消息吞吐量较低,这将始终是第一个SMSC,您将无法实现接近50/50的分发。这在kannel源代码的gw/bb_smscconn.c中的代码smsc2_rout()下