Asterisk 电话答录机接听时星号拨号计划未运行

Asterisk 电话答录机接听时星号拨号计划未运行,asterisk,Asterisk,我正在研制一个系统,可以自动拨出迟交租金的房客号码,并读取他们的欠款。当拨打的号码有人接听或在拨号时发出“忙音”时,一切正常。不幸的是,当电话铃响到足以让应答机(或语音邮件)自行接听时,拨号计划上下文和分机根本不会启动。当电话答录机或语音邮件应答时,我必须做什么才能启动拨号计划?我在两部手机上进行了测试,两部手机都做了同样的事情 下面是启动调用的代码。该脚本正常工作并将拨打我的电话: fputs($socket, "Action: Login\r\n"); fputs($socket, "Us

我正在研制一个系统,可以自动拨出迟交租金的房客号码,并读取他们的欠款。当拨打的号码有人接听或在拨号时发出“忙音”时,一切正常。不幸的是,当电话铃响到足以让应答机(或语音邮件)自行接听时,拨号计划上下文和分机根本不会启动。当电话答录机或语音邮件应答时,我必须做什么才能启动拨号计划?我在两部手机上进行了测试,两部手机都做了同样的事情

下面是启动调用的代码。该脚本正常工作并将拨打我的电话:

fputs($socket, "Action: Login\r\n"); 
fputs($socket, "UserName: $username\r\n"); 
fputs($socket, "Secret: $secret\r\n\r\n"); 
fputs($socket, "Command: sip show peers\r\n\r\n");

fputs($socket, "Action: Originate\r\n");
fputs($socket, "Channel: $number_out\r\n");
fputs($socket, "Context: $context\r\n");
fputs($socket, "Exten: $exten\r\n");
fputs($socket, "Priority: 1\r\n");
fputs($socket, "Timeout: 20000\r\n");
fputs($socket, "Variable: NAME=$name\r\n");
fputs($socket, "Variable: LOCATION=$location\r\n");
fputs($socket, "Variable: AMOUNT=$amount\r\n");
fputs($socket, "Variable: TENSE=$tense\r\n");
fputs($socket, "Variable: CALLDIR={$cd['calls_out_dir']}\r\n");
fputs($socket, "Variable: CALLFILE=$callFile\r\n");
fputs($socket, "Variable: ICOID=${cd['ico_id']}\r\n");
fputs($socket, "Variable: LIVEORDEVEL=html-devel\r\n");
fputs($socket, "Variable: TIMESTAMP=$timestamp\r\n");
fputs($socket, "Callerid: \"$cid_name\" <$cid_num>\r\n"); 


fputs($socket, "Action: Logoff\r\n\r\n");

请张贴您用于生成外出通话的代码。在我看来,您并不是在拨号命令中将外出通话的“您的一方”发送到此上下文中。

事实证明,当电话答录机或语音邮件使用特殊分机接听时,您需要进行处理。我在拨号计划中添加了以下线路。需要注意的重要一点是分机的名称:“failed”这是应答机拾取时执行的默认分机

;; if the answering machine picks up when no user answers or sends a busy tone
exten => failed,1,Goto(s,mach)

您需要检查详细/调试输出。根据你的拨号计划,一切都很好,只是有去其他agi脚本。谢谢你的回复,我已经按照你的要求编辑了我的帖子。再一次,我的电话会响,只是当电话答录机接听时,它不会启动拨号计划分机。如果我接电话,拨号计划将按预期工作。“fputs($socket,超时:20000\r\n”);”可能是罪魁祸首吗?现在我再看一遍,这可能是问题所在,您认为呢?您可以发布发送的$number_out、$context和$ext的值吗?这将帮助我为你解决这个问题。谢谢你抽出时间,米歇尔,但我自己解决了,看看我的答案。
;; if the answering machine picks up when no user answers or sends a busy tone
exten => failed,1,Goto(s,mach)