2

オフィスの SIP プロバイダーから提供された代表電話番号を持っています。0120120020最近、同じ SIP アカウントで2 つ目の電話番号を SIP プロバイダーに依頼しました。0230230030

誰かがメインの電話番号をダイヤルしてオフィスに電話をかけたときにグループ Aに属するすべての電話を鳴らし、代わりに2 番目の電話番号がダイヤルされた場合にグループ Bに属するすべての電話を鳴らしたい。

私の extensions.conf には次の行が含まれています。

[sip-incoming-calls]
exten => s,1,Dial(SIP/10&SIP/11&SIP/12&SIP/20&SIP/21,20,tr)

内線番号 10、11、および 12 はグループ Aに属し、内線番号 20 および 21 はグループ Bに属します。すべての電話は、メインの電話番号と2 番目の電話番号からの着信ごとに鳴ります。

CentOS 6.3 のアスタリスク 1.8 でこれを行うにはどうすればよいですか?

4

4 に答える 4

6

通話ごとに、Asterisk は現在の着信通話に関する情報を含むいくつかの変数を設定します。これらの情報は、通話が特定の国からのものである場合に異なる動作をするのに役立ちます。電話番号から悪い発信者をブロックすることもできます...

DID を取得する方法を探しています。DID は、実際には Direct Inward Dialing Number を意味します。これは、発信者がオフィスに電話するためにダイヤルした番号です。

取得する方法は 2 つあります。

  • CALLERID(dnid)変数を直接使用すると、その値は0120120020または0230230030に設定されます

    [sip-incoming-calls]
    exten => s,1,Set(thedid=${CALLERID(dnid)})
    
  • 上記の変数が空の場合、SIP プロバイダーは、Asterisk が正しく入力するために必要な情報を送信しません。

    ただし、SIP ヘッダー内の To フィールドから直接電話番号を取得することできSIP_HEADER(To)ます。<sip:0230230030@sip.provider.com>

    [sip-incoming-calls]
    exten => s,1,Set(thedid=${SIP_HEADER(To)})
    exten => s,2,Set(thedid=${CUT(thedid,@,1)})
    exten => s,3,Set(thedid=${CUT(thedid,:,2)})
    

変数内の DID を取得したら、条件を設定する必要がありますGotoIf。あなたの場合、次のようになります。

exten => s,4,GotoIf($["${thedid}" = "0120120020"]?6:5)
exten => s,5,GotoIf($["${thedid}" = "0230230030"]?7)
exten => s,6,Dial(SIP/10&SIP/11&SIP/12,20,tr)
exten => s,7,Dial(SIP/20&SIP/21,20,tr)
于 2012-09-27T08:58:42.177 に答える
5
[sip-incoming-calls]

exten => s,1,goto(${CUT(CUT(SIP_HEADER(TO),@,1),:,2)},1)

exten => 0120120020,1,Dial(SIP/10&SIP/11&SIP/12,20,tr)

exten => 0230230030,1,Dial(SIP/20&SIP/21,20,tr) 
于 2013-04-27T22:57:37.120 に答える
1

VoIP プロバイダーに着信通話の DID 番号を送信するよう依頼してから、以下のダイヤルプランを使用します。

[sip-incoming-calls] 
exten => _0120120020,1,Dial(SIP/10&SIP/11&SIP/12,tr) 
exten => _0120120020,n,hangup
exten => _0230230030,1,Dial(SIP/20&SIP/21,20,tr) 
exten => _0230230030,n,hangup
于 2012-10-09T10:05:01.733 に答える
1

簡単にトランク (別の dahdi ポート) を作成し、トランクを特定の拡張機能にリダイレクトできます。

于 2012-09-30T07:31:05.587 に答える