2

PHP でアスタリスク管理インターフェイス (AMI) を使用して発信呼び出しを発信しています。以下は、私が使用しているコードのスニペットです。

// snippet
// $num is the number to dial e.g. 0207 121 3456
// $ext is the extension use to make the call e.g. 101
// $name is the name of the caller e.g. Fred Flintstone
//
fputs($socket, "Action: Originate\r\n" );
fputs($socket, "Channel: SIP/$ext\r\n" );
fputs($socket, "Exten: $num\r\n" );
fputs($socket, "Context: from-internal\r\n");
fputs($socket, "Priority: 1\r\n" );
fputs($socket, "CallerID: \"".$name."\" <".$num.">\r\n" );
fputs($socket, "Async: yes\r\n\r\n" );

発信者名 ( ) または発信者スクリプト内のアウトバウンド コール用に$name書き込まれるその他の詳細を設定するにはどうすればよいですか? 理想的には、インバウンド コール フィールドが設定されるのと同じ方法でフィールドasteriskcdrdbを設定したいと考えています。dst

4

3 に答える 3

0

Action: Setvar を使用して CDR(accountcode) を設定する必要はありません。必要なのは、発信時に以下の行を追加することだけです。

           fputs($socket, "Account: FOOBAR\r\n" );

以下は完全な例です

       fputs($socket, "Action: Originate\r\n" );
        fputs($socket, "Channel: SIP/201\r\n" );
        fputs($socket, "Exten: 1234\r\n" );
        fputs($socket, "Account: FOOBAR\r\n" );
        fputs($socket, "Context: from-internal\r\n" );
        fputs($socket, "Priority: 1\r\n" );
        fputs($socket, "WaitTime: 15\r\n" );
        fputs($socket, "Callerid: 123456\r\n\r\n" );
        $wrets=fgets($socket,128);
        echo $wrets;
于 2015-02-28T21:22:58.290 に答える