1

我想请有 kannel 经验的人启发我。

我目前经营一个围绕发送和接收短信的小网站。我正在使用 Kannel 作为 SMS 网关,我喜欢它的一个功能是基于优先级的我的 SMS 排队发送。

我和我的同事想出的解决方法是编写一个中间程序,我们将向其发送要发送的 SMS,它将管理它自己的队列,然后将它们处理为 kannel Priority 明智的。

它将 SMS 存储到 MySQL 数据库以进行持久性,并将在 PHP 中完成。

我只是想确定这是解决我们问题的好方法,并且我想开源它以便其他人可以受益。

非常感谢。

4

2 回答 2

2

Kannel 本身不支持内部队列中的消息优先级。

但是,您可以使用sqlbox插件(包含在 Kannel 1.5.0 版本中 - 请参阅“ addons/sqlbox ”目录)。

这种情况下您可以通过以下方式进行简单的更改:

  1. 将“my_prio”字段添加到表结构中。
  2. 将原始获取 SQL 查询更改为按此字段排序消息(SELECT ... ORDER BY my_prio)。
  3. 使用此“my_prio”字段的适当值插入 MT 消息。

所有提到的更改都可以在“ addons/sqlbox/gw/sqlbox_mysql.h ”文件中完成。

于 2011-12-17T09:33:04.603 回答
0

我在 Kannel-dev 邮件列表上发布了这个问题,我了解到 Kannel 确实在传出 SMS 上实现了基本的优先级调度。很难找到,因为,我们都知道一个通​​俗易懂的“用户指南”不是 kannel 的强项。

但是,如果你去Kannel 用户指南,阅读“使用 HTTP 接口发送 SMS 消息”部分,你会发现你可以在向 kannel 发送 GET 请求发送 SMS 时设置一个可选参数“priority” :

优先 | 号码 | 选修的。设置优先级值(允许范围 0-3)。(默认为 0,这是最低优先级)。

我希望这会有所帮助,但是,我还不知道它在内部是如何工作的,它是否实现了老化,所以低优先级的消息不会饿死等等。我已经在邮件列表上提出了这个问题,但仍然没有回复,如果有人有更多有关这方面的信息,请更新我们。

于 2011-12-19T10:26:18.380 回答