Php 呼叫忙时,星号AMI上的CDR dst错误

Php 呼叫忙时,星号AMI上的CDR dst错误,php,mysql,odbc,asterisk,amazon-ami,Php,Mysql,Odbc,Asterisk,Amazon Ami,我正在尝试使用MySQL设置CDR记录。当一个电话被接听或未接听时,它会在dst字段中写入正确的值,即在dcontext字段中呼叫和传出的电话号码 但当呼叫被拒绝或手机关机时,它会在dst字段中写入“s”,并在dcontext字段中发送语音。在这种情况下,我们希望星号也能写下电话号码 当电话有人接听或无人接听时,将转到此上下文: [outgoing] exten =>_X., 1,Answer() same=>n, Set(j=0) same=>n, Set(message

我正在尝试使用MySQL设置CDR记录。当一个电话被接听或未接听时,它会在dst字段中写入正确的值,即在dcontext字段中呼叫和传出的电话号码

但当呼叫被拒绝或手机关机时,它会在dst字段中写入“s”,并在dcontext字段中发送语音。在这种情况下,我们希望星号也能写下电话号码

当电话有人接听或无人接听时,将转到此上下文:

[outgoing]

exten =>_X., 1,Answer()
same=>n, Set(j=0) 
same=>n, Set(message=message)
same => n,While($[${j} < ${I}])
same => n,Playback(${${message}${j}})
same => n,Set(j=$[${j} + 1])
same => n,EndWhile
same=>n,Set(CDR(target)=${EXTEN})
same => n,Hangup()
[transmit_voice]
exten => _X!,1,NoOp


#include extensions_custom.conf
以下是PHP代码片段:

fputs($this->socket,"Action: originate\r\n");
fputs($this->socket,"Channel: SIP/".$this->strTrunkName."/".$phone."\r\n");
fputs($this->socket,"Variable: canal= SIP/".$this->strTrunkName."/".$phone."\r\n");
fputs($this->socket,"Timeout: ".$this->strWaitTime."\r\n");
fputs($this->socket,"Callerid: ".$this->strCallerId."\r\n");
fputs($this->socket,"Exten: ".$phone."\r\n");
fputs($this->socket,"Context: outgoing\r\n");
while ($audio < count($this->arrAudioPath))
{
  fputs($this->socket,"Variable: message".$audio."=".$this->arrAudioPath[$audio]."\r\n");
  $audio++;
}  
fputs($this->socket,"Variable: I=".$audio."\r\n");
fputs($this->socket,"Async: yes\r\n");
fputs($this->socket,"Priority: 1\r\n\r\n");
fputs($this->socket,“Action:origine\r\n”);
fputs($this->socket,“Channel:SIP/”$this->strTrunkName./“$phone.\r\n”);
fputs($this->socket,“变量:canal=SIP/”$this->strTrunkName./“$phone”。\r\n”);
fputs($this->socket,“Timeout:”.$this->strWaitTime.\r\n”);
fputs($this->socket,“Callerid:”。$this->strCallerId。“\r\n”);
fputs($this->socket,“Exten:.$phone.\r\n”);
fputs($this->socket,“Context:outgoing\r\n”);
而($audioarrAudioPath))
{
fputs($this->socket,“变量:消息“$audio.”=“$this->arrAudioPath[$audio]”“\r\n”);
$audio++;
}  
fputs($this->socket,“Variable:I=”.$audio.\r\n”);
fputs($this->socket,“Async:yes\r\n”);
fputs($this->socket,“优先级:1\r\n\r\n”);

这是预期的行为。当通话忙时,没有dst

如果您想改变这种情况,请通过本地/频道呼叫,而不是通过sip