2017-03-13 10 views
0

私はTwilioのElastic SIPトランキングを使用してfreeSwitchを実装しています。ほとんどの場合、これは完璧に動作しています。 PSTNからSIPトランクへの着信コールを受信できます。その後、私のフリーズスイッチPBXに着信します。私は問題なしで終端トランクのコールを開始することもできます。TwilioがSIP招待に応答していません

私のFollowMe機能がTermination SIPトランクから自分の携帯電話に電話をかけようとすると問題が発生します。

私はTwilioとの通信を監視するためにFS_CLIを使用していますが、SIP招待メッセージが表示されますが、Twilioは応答しません。

私は自分の内線番号からPSTNに電話をかけたときと、freeSwitchがFollowMeで電話をかけようとしている間のリクエストを(ほとんどの場合)比較しました。彼らは似ています。私は以下のリクエストを提供しています。誰かが何か変わったことを見ることができるなら、私に知らせてください。この要求は、それ自身を繰り返すだけで、Twilioからの応答はなく、デバッガまたはトランクのログにもログは記録されません。 (私は私の番号をXXXX'edている)

send 1506 bytes to udp/[54.172.60.1]:5060 at 16:47:51.442983: 
 
    ------------------------------------------------------------------------ 
 
    INVITE sip:[email protected] SIP/2.0 
 
    Via: SIP/2.0/UDP XX.XX.XX.XX;rport;branch=z9hG4bKe92m35UyNXe2a 
 
    Max-Forwards: 59 
 
    From: "+1XXXXXXXXX0" <sip:[email protected]>;tag=3UHvjrXHmUyXp 
 
    To: <sip:[email protected]> 
 
    Call-ID: a369c6b9-82af-1235-e490-0050561ee798 
 
    CSeq: 104375771 INVITE 
 
    Contact: <sip:[email protected]:5060;transport=udp;gw=a741d1e8-2e0a-4527-b18d-518edbe57d73> 
 
    User-Agent: FreeSWITCH 
 
    Allow: INVITE, ACK, BYE, CANCEL, OPTIONS, MESSAGE, INFO, UPDATE, REGISTER, REFER, NOTIFY, PUBLISH, SUBSCRIBE 
 
    Supported: timer, path, replaces 
 
    Allow-Events: talk, hold, conference, presence, as-feature-event, dialog, line-seize, call-info, sla, include-session-description, presence.winfo, message-summary, refer 
 
    Content-Type: application/sdp 
 
    Content-Disposition: session 
 
    Content-Length: 246 
 
    Diversion: <sip:[email protected]>;reason=unconditional 
 
    X-Twilio-AccountSid: XXXXXXXXXXX 
 
    X-Twilio-CallSid: CA05acdaaae18a720113ab2e78cbd1db63 
 
    X-accountcode: admin1.oxigenx.com 
 
    X-FS-Support: update_display,send_info 
 
    Remote-Party-ID: "+1XXXXXXXXX0" <sip:[email protected]>;party=calling;screen=yes;privacy=off 
 

 
    v=0 
 
    o=FreeSWITCH 1489394171 1489394172 IN IP4 XX.XX.XX.XX 
 
    s=FreeSWITCH 
 
    c=IN IP4 XX.XX.XX.XX 
 
    t=0 0 
 
    m=audio 29500 RTP/AVP 0 101 13 
 
    a=rtpmap:0 PCMU/8000 
 
    a=rtpmap:101 telephone-event/8000 
 
    a=fmtp:101 0-16 
 
    a=rtpmap:13 CN/8000 
 
    a=ptime:20 
 
    ------------------------------------------------------------------------

答えて

0

ここではTwilioの開発者のエバンジェリストです。

私は、この質問に基づいて内部的に取り上げた情報を渡すだけです。私はSIPの専門家ではありません。しかし、それは助けるかもしれません。

SIP over UDPのMTU(最大遷移単位)は1500バイトです。この仕様では、ヘッダーなどを許可するためにはSIPメッセージは1300バイト未満である必要があり、メッセージはTCP経由で送信する必要があることが示唆されています。

ログの先頭に合わせて1506バイトを送信していたように見えますが、Remote-Party-IDを削除するとメッセージのサイズが1500未満になってしまいます。 TwilioがRemote-Party-IDパラメータを嫌っているわけではありませんが、メッセージが大きすぎるために途中でメッセージがドロップされていました。私たちはINVITEのログを見つけることができなかったので、ログを見ることができませんでした。

この場合、Remote-Party-IDはTwilioでは実際には使用されません。特に、発信者IDがFromと同じで、かなり長いヘッダーです。だからあなたのソリューションはおそらく最高です。

TwilioがサポートしていないSUBSCRIBEメソッドと関連するAllow-Eventsヘッダーを削除することもできます。

+0

ありがとうフィナッシュ!これは多くの意味があります。私はこれが他の問題を引き起こさないことを保証するために削除できる他のヘッダーを見ていきます。 –

0

私はこの問題を考え出しました。 Twilioは、INVITEの一部として送信されたRemote-Party-IDパラメータが気に入らなかった。 "caller-id-type"を "none"にすることで、SIP設定のRPIDをオフにしました。

これを行うには、[詳細設定]メニューの[SIPプロファイル]に移動します。そこから、RPIDを無効にする必要があるSIPプロファイルを選択します。リストを下にスクロールして、値 "none"の "caller-id-type"を探します。これをクリックし、EnabledをTRUEに設定します。 CLIからSofiaを保存して再起動します。

関連する問題