星号:获取队列代理

时间:2011-12-09 10:55:37

标签: voip asterisk

当呼叫从队列转移到代理时,是否有一种简单的方法可以将代理扩展捕获到星号变量中?

编辑:我们正在使用动态代理。在座席接听电话后,他将呼叫转移到另一个分机。在该扩展的上下文中,我们需要使用星号变量,该变量包含传输呼叫的代理的扩展名。

2 个答案:

答案 0 :(得分:1)

在拨号方案内?不是特别。在访问拨号方案级别的队列呼叫通道时,Asterisk没有提供尽可能多的绑定。

解决此问题的一个非常重要但非常可能的方法是构建一个与Asterisk Management Interface接口的应用程序。从那里,您可以有效地监视队列事件,在PBX上的整个生命周期内跟踪呼叫,并在带外向您的代理提供该信息。这是否适合你真的取决于你的特定目标。

如果您计划采取这条路线,您将需要做两件事。

  1. 连接到AMI时,请务必在验证后立即设置Events: on
  2. 在queues.conf中为要跟踪的任何队列设置eventmemberstatus=yes
  3. 希望这有帮助!

答案 1 :(得分:0)

正如@ ywca-hello解释的那样,可以使用管理接口(AMI)来实现,另一种选择是利用队列日志从Queue()dialplan应用程序中访问有关呼叫信息的信息。这可以从拨号方案或AGI脚本或外部脚本中访问。队列日志还可以与SQL集成,以便更轻松地处理数据。结构如下所示:

mysql> DESCRIBE queue_log;
+-----------+------------------+------+-----+---------+----------------+
| Field     | Type             | Null | Key | Default | Extra          |
+-----------+------------------+------+-----+---------+----------------+
| id        | int(10) unsigned | NO   | PRI | NULL    | auto_increment |
| time      | varchar(10)      | YES  |     |         |                |
| callid    | varchar(32)      | NO   |     |         |                |
| queuename | varchar(32)      | NO   |     |         |                |
| agent     | varchar(32)      | NO   |     |         |                |
| event     | varchar(32)      | NO   |     |         |                |
| data      | varchar(255)     | NO   |     |         |                |
+-----------+------------------+------+-----+---------+----------------+
7 rows in set (0.00 sec)

希望有帮助...