Asterisk Hangup

在网页上发起呼叫,接通或是未接通的情况下,都需要挂断,那如何实现呢?翻看 官方文档 有两种实现形式

Syntax

Action: Hangup
ActionID: <value>
Channel: <value>
Cause: <value>

Arguments

Channel - The exact channel name to be hungup, or to use a regular expression, set this parameter to: /regex/
Example exact channel: SIP/provider-0000012a
Example regular expression: /^SIP/provider-.*$/

第一种是具体的 channel 值,这个可以通过 agi 获取 agi_channel 得到,然后以分机为键,存入 redis,之后挂断的时候再取出即可实现。

第二种是使用正则,这个最简单,只需 '/^SIP/444-.*$/'

#!/usr/bin/php -q  
<?php

include "phpagi-asmanager.php";

$ams = new AGI_AsteriskManager(); 
$ams->AGI_AsteriskManager("ami.ini"); 
$result = $ams->connect();
$res = $ams->Hangup('/^SIP/444-.*$/');
var_dump($res); //这个是查看输出信息的调试代码

猜你喜欢

转载自blog.csdn.net/molaifeng/article/details/81170739