2017-01-09 9 views
0

私はKamailio 4.4を使用しています。私はコール情報を上書きする必要があります:Fromヘッダードメイン。 sip.twilio.comからpstn.mycompany.ioへ 。例:Kamailio上書きドメインから

From: "+16501112222" <sip:[email protected]> 

From: "+16501112222" <sip:[email protected]> 

へのコールフロー:

Twilio (SP1) --> MyCompany --> SP2 
Twilio SIP -> Calls: sip:[email protected] -> Kamailio -> Kamailio look up table and convert sip:[email protected] to sip:[email protected] using dbaliases to send call to SP2. 

クライアントTwilioからのコールを見てSP2インチSIPコールをSP2にリダイレクトするために、KamailioはDNSルックアップを実行します。私はこのコードが実行されているのを見ていますが、次の運を試しました。 Kamailioのデフォルトコールスクリプトを使用しています。

branch_route[MANAGE_BRANCH] { 

     if($fd=~"sip\.twilio\.com") { 
      xlog("L_INFO","|Masking Twilio call from: $fu"); 
      $fd = "pstn.mycompany.io"; 

     } 

     xdbg("new branch [$T_branch_idx] to: $ru from: $fu\n"); 
     route(NATMANAGE); 
} 

関連:kamailio.cfg内部URIから変更

Twilio overwrite callerId with SIP calls

答えて

2

を用いて行うことができる:UACモジュールから

  • uac_replace_from()関数。これは、返信のために逆の変更を行い、同じダイアログの後続のリクエストでヘッダを更新することもできます。$ fu(または$ fU/$ fd)に文字列(または変数)を代入します。

  • このオプションは、逆変更やフォローアップ要求を処理していません。

2番目のオプションを使用しましたが、変更がすぐに表示されないことに注意してください。 $ fdに代入して$ fuを出力すると、From URIの古い値が出力されます。ネットワーク上のトラフィックを見て、ヘッダが更新される必要があります。そうでない場合は、syslogを調べてエラーメッセージがあるかどうかを確認します。また、デバッガモジュールをロードし、そのパラメータcfgtraceを1に設定すると、実行されるコンフィギュレーションファイル行を追跡するのに役立ちます。

0

これが働いた:

# Add uac.so module 
loadmodule "uac.so" 


# Manage outgoing branches 
branch_route[MANAGE_BRANCH] { 


     xdbg("New branch [$T_branch_idx] to: $ru from: $fu $fd\n"); 
     xlog("L_DBG","$mb \n| New branch \n"); 
     # Rewrite From Domain for X 
     if($fd=~"sip.x.com") { 
      xlog("L_DBG","$mb \n| RELAY | Masking X call from: $fu $fd"); 
      xlog("L_DBG","$mb \n| RELAY | From: $fu $fd"); 
      uac_replace_from("","sip:[email protected]"); 
      xlog("L_DBG","$mb \n| RELAY | Call masked from: $fu"); 
     } 
     # We do not trust the user, let's remove the P-Asserted-Identity, if any: 
     remove_hf("P-Asserted-Identity"); 
     remove_hf("P-Preferred-Identity"); 
     route(NATMANAGE); 
} 
関連する問題