Asterisk.NET を使用して、C# WinForms でアスタリスク クライアントを作成しています。私のクライアントは 1 つの内線だけを聞いています。通話を表示したり、内線番号に着信する通話を拒否または転送したりできます。コールを転送するにはソース チャネルが必要ですが、ソース チャネルはダイヤル イベントからのみ取得できます。最近、サーバーに接続された内線のいずれかがダイヤルを開始するたびにダイヤル イベントが発生することに気付きました。私はそれを除外したいのですが、私の内線だけにかかってくる電話だけです。
void manager_Dial(object sender, DialEvent e)
{
CallingInfo.src_channel = e.Channel;
}
e.dialString は宛先内線番号を教えてくれます。ただし、サーバーの状態によってはnullになるかどうかはわかりません。さらに、外部からの電話がかかってきて、ダイヤル イベントやソース チャネルを取得できず、転送できない場合はどうなりますか。右 ?