アスタリスク、ハングアップ、なりすまし

私は、アスタリスクでハングアップコードを変更する問題(Q.931 ISDNもハングアップする)に関する短いマニュアルを書くことにしました。



回線の反対側で受信したものに関係なく、クライアントにハングアップコードを提供する必要がある場合があります。 デフォルトでは、指定された範囲(exten => s、n、HangUp)で、アスタリスクは34終了コードを送信します(sip仕様では、これはエラーコード503です)。 タスクは次のように要約されます-条件に応じて、肩Bから来たコードをキャッチし、必要なものを肩Aに渡します。 これはすべて2つのコンテキストに収まります。



[outgoing] exten => _X.,1,Dial(<SIP|IAX2>/${EXTEN}@trunk,60,g) same => n,GoTo(hangup,s,${HANGUPCAUSE}) [hangup] exten => s,<1...127>,HangUp(<   Q.931>)
      
      





コンテキストのロジックは単純です。Dial呼び出しの終了後、HANGUPCAUSE変数はB側から到着した値をキャッチし、GoTo関数を介して1〜127の値で優先度のハングアップコンテキストに入ります。それは私たちに来ました。 通信コードQ931-> SIPのリストがあります。 例えばここに





詳細なログを含む実際の例を見てみましょう。 2つのアスタリスクサーバーがあり、そのうちの1つは「私たち」で、2つ目は任意のリバウンドコードを提供するため、調整する必要があります。



まず、アスタリスクとQ.931のSsterコードの対応を検討します。これは、コンテキストで置き換えます。



-403(AST_CAUSE_CALL_REJECTEDとして21)

-404(AST_CAUSE_UNALLOCATEDとして1)

-410(AST_CAUSE_NUMBER_CHANGEDとして22)

-484(AST_CAUSE_INVALID_NUMBER_FORMATとして28)

-486(17としてAST_CAUSE_USER_BUSY)

-502(AST_CAUSE_DESTINATION_OUT_OF_ORDERとして27)

-503(34はAST_CAUSE_NORMAL_CIRCUIT_CONGESTIONとして、それを使用するためのオプションがまだありますが、これを例として取り上げます)



そして、次のコードを修正します。



 - 403  503 (21--->34) - 486  410 (17--->22) - 484  404 (28--->1) - 502  503(27--->34) - 503   (34--->34) - 404   (1--->1)
      
      





配線図:



(プリセットsipピアは実行しません。既に実行されているとしましょう)







次に、extensions.confファイルのアスタリスク上のユーザー101(sipクライアント)の発信コンテキストで、ダイヤルプランを追加します。



ダイヤルプラン
[発信]

exten => _X。、1、Dial(SIP / $ {EXTEN} @ 192.168.1.100,60、g)

同じ=> n、GoTo(hangup、s、$ {HANGUPCAUSE});; HANGUPCAUSE値は、ハングアップのコンテキストでの優先順位です



[ハングアップ]

exten => s、1、HangUp(1)

同じ=> 17、ハングアップ(22)

同じ=> 21、ハングアップ(34)

同じ=> 27、ハングアップ(34)

同じ=> 28、ハングアップ(1)

同じ=> 34、ハングアップ(34)



実際にこのダイヤルプランをテストするときが来ました。 指定された規則に従って、アスタリスクがコードを置き換える方法を確認する必要があるコードのsipプロバイダーによるリターンを開始します。 呼び出されるサブスクライバーの数は重要ではないため(_X。パターンが指定されているため)、102で呼び出します。sipクライアントA 、sipプロバイダーB 、およびアスタリスク-Tを指定します



それでは、始めましょう:



403から503



B ---> T
2016/12/07 14:31:47.864287 192.168.1.100:5060-> 192.168.1.59:5060

SIP / 2.0 403禁止

経由:SIP / 2.0 / UDP 192.168.1.59:5060;branch=z9hG4bK5d05bcde;received=192.168.1.59

From:<sip:101@192.168.1.59>; tag = as5eed27bb

宛先:<sip:102@192.168.1.100>; tag = as64678c0b

呼び出しID:228c0daa2ce496dd10d46e9478757bdc@192.168.1.59:5060

CSeq:102招待

サーバー:Asterisk PBX 11.25.0

許可:INVITE、ACK、CANCEL、OPTIONS、BYE、REFER、SUBSCRIBE、NOTIFY、INFO、PUBLISH、MESSAGE

サポート:置換、タイマー

セッション有効期限:1800;復習= uas

コンテンツの長さ:0



T ---> A
2016/12/07 14:31:47.864536 172.16.1.1:5060-> 172.16.1.10:45416

SIP / 2.0 503サービスは利用できません

経由:SIP / 2.0 / UDP 172.16.1.10:45416;branch=z9hG4bK-524287-1-3b6420a969f2c3a5;received=172.16.1.10;rport=45416

差出人:<sip:101@172.16.1.1; transport = UDP>; tag = a946bd32

宛先:<sip:102@172.16.1.1; transport = UDP>; tag = as558ab11d

呼び出しID:t_H-Dcu8ceIhISoGT7dI9w ...

CSeq:2招待

サーバー:Asterisk PBX 11.25.0

許可:INVITE、ACK、CANCEL、OPTIONS、BYE、REFER、SUBSCRIBE、NOTIFY、INFO、PUBLISH、MESSAGE

サポート:置換、タイマー

X-Asterisk-HangupCause:拒否されたコール

X-アスタリスクハングアップ原因コード:21

コンテンツの長さ:0



410で410



B ---> T
2016/12/07 15:01:06.232282 192.168.1.100:5060-> 192.168.1.59:5060

ここで SIP / 2.0 486ビジー

経由:SIP / 2.0 / UDP 192.168.1.59:5060;branch=z9hG4bK49adb904;received=192.168.1.59

差出人:<sip:101@192.168.1.59>; tag = as274a0aaa

宛先:<sip:102@192.168.1.100>; tag = as0865c714

呼び出しID:133710b7018b6f003e461b7366dc071d@192.168.1.59:5060

CSeq:102招待

サーバー:Asterisk PBX 11.25.0

許可:INVITE、ACK、CANCEL、OPTIONS、BYE、REFER、SUBSCRIBE、NOTIFY、INFO、PUBLISH、MESSAGE

サポート:置換、タイマー

セッション有効期限:1800;復習= uas

コンテンツの長さ:0



T ---> A
2016/12/07 15:01:06.232644 172.16.1.1:5060-> 172.16.1.10:45416

SIP / 2.0 410廃止

経由:SIP / 2.0 / UDP 172.16.1.10:45416;branch=z9hG4bK-524287-1---ffcd5e1a73cb2616;received=172.16.1.10;rport=45416

差出人:<sip:101@172.16.1.1; transport = UDP>; tag = 769e0625

宛先:<sip:102@172.16.1.1; transport = UDP>; tag = as4a312af7

コールID:TJ49AuSsPy15GbKbIn3KTw ...

CSeq:2招待

サーバー:Asterisk PBX 11.25.0

許可:INVITE、ACK、CANCEL、OPTIONS、BYE、REFER、SUBSCRIBE、NOTIFY、INFO、PUBLISH、MESSAGE

サポート:置換、タイマー

コンテンツの長さ:0



484から404



B ---> T
2016/12/07 15:03:42.757761 192.168.1.100:5060-> 192.168.1.59:5060

SIP / 2.0 484アドレスが不完全です

経由:SIP / 2.0 / UDP 192.168.1.59:5060;branch=z9hG4bK329498e8;received=192.168.1.59

差出人:<sip:101@192.168.1.59>; tag = as7feed819

宛先:<sip:102@192.168.1.100>; tag = as31afa634

呼び出しID:4c129a6b7680fc2f6940c77525a58e48@192.168.1.59:5060

CSeq:102招待

サーバー:Asterisk PBX 11.25.0

許可:INVITE、ACK、CANCEL、OPTIONS、BYE、REFER、SUBSCRIBE、NOTIFY、INFO、PUBLISH、MESSAGE

サポート:置換、タイマー

セッション有効期限:1800;復習= uas

コンテンツの長さ:0



T ---> A
2016/12/07 15:03:42.758083 172.16.1.1:5060-> 172.16.1.10:45416

SIP / 2.0 404が見つかりません

経由:SIP / 2.0 / UDP 172.16.1.10:45416;branch=z9hG4bK-524287-1-60-607a681de37faa;received=172.16.1.10;rport=45416

差出人:<sip:101@172.16.1.1; transport = UDP>; tag = 2303fd45

宛先:<sip:102@172.16.1.1; transport = UDP>; tag = as6f3c2e31

Call-ID:VPDPD8Wtelh7GfRX5OSnig ...

CSeq:2招待

サーバー:Asterisk PBX 11.25.0

許可:INVITE、ACK、CANCEL、OPTIONS、BYE、REFER、SUBSCRIBE、NOTIFY、INFO、PUBLISH、MESSAGE

サポート:置換、タイマー

コンテンツの長さ:0



502から503



B ---> T
2016/12/07 14:46:12.941218 192.168.1.100:5060-> 192.168.1.59:5060

SIP / 2.0 502 Bad Gateway

経由:SIP / 2.0 / UDP 192.168.1.59:5060;branch=z9hG4bK39ae3e4a;received=192.168.1.59

From:<sip:101@192.168.1.59>; tag = as0d0f21e7

宛先:<sip:102@192.168.1.100>; tag = as501e30d3

呼び出しID:50cc1fca1b0c8d4807c110ab2621de88@192.168.1.59:5060

CSeq:102招待

サーバー:Asterisk PBX 11.25.0

許可:INVITE、ACK、CANCEL、OPTIONS、BYE、REFER、SUBSCRIBE、NOTIFY、INFO、PUBLISH、MESSAGE

サポート:置換、タイマー

セッション有効期限:1800;復習= uas

コンテンツの長さ:0



T-> A
2016/12/07 14:46:12.941529 172.16.1.1:5060-> 172.16.1.10:45416

SIP / 2.0 503サービスは利用できません

経由:SIP / 2.0 / UDP 172.16.1.10:45416;branch=z9hG4bK-524287-1---34f25329bb23215d;received=172.16.1.10;rport=45416

From:<sip:101@172.16.1.1; transport = UDP>; tag = 0aabc036

宛先:<sip:102@172.16.1.1; transport = UDP>; tag = as61430d18

Call-ID:pH7WSH9iuRXDNJ0lyRnlGQ ...

CSeq:2招待

サーバー:Asterisk PBX 11.25.0

許可:INVITE、ACK、CANCEL、OPTIONS、BYE、REFER、SUBSCRIBE、NOTIFY、INFO、PUBLISH、MESSAGE

サポート:置換、タイマー

X-Asterisk-HangupCause:宛先が順不同

X-アスタリスクハングアップ原因コード:27

コンテンツの長さ:0



503



B ---> T
2016/12/07 15:05:17.966997 192.168.1.100:5060-> 192.168.1.59:5060

SIP / 2.0 503サービスは利用できません

経由:SIP / 2.0 / UDP 192.168.1.59:5060;branch=z9hG4bK0c901ae6;received=192.168.1.59

差出人:<sip:101@192.168.1.59>; tag = as049eed53

宛先:<sip:102@192.168.1.100>; tag = as5b5775fa

Call-ID:115e76677306210f6841df276dba9084@192.168.1.59:5060

CSeq:102招待

サーバー:Asterisk PBX 11.25.0

許可:INVITE、ACK、CANCEL、OPTIONS、BYE、REFER、SUBSCRIBE、NOTIFY、INFO、PUBLISH、MESSAGE

サポート:置換、タイマー

セッション有効期限:1800;復習= uas

コンテンツの長さ:0



T ---> A
2016/12/07 15:05:17.967354 172.16.1.1:5060-> 172.16.1.10:45416

SIP / 2.0 503サービスは利用できません

経由:SIP / 2.0 / UDP 172.16.1.10:45416;branch=z9hG4bK-524287-1----a5d67aaf0d62c772;received=172.16.1.10;rport=45416

差出人:<sip:101@172.16.1.1; transport = UDP>; tag = 886e8753

宛先:<sip:102@172.16.1.1; transport = UDP>; tag = as515af7fd

呼び出しID:rd_vI3FHvTGECqLBPqu_mQ ...

CSeq:2招待

サーバー:Asterisk PBX 11.25.0

許可:INVITE、ACK、CANCEL、OPTIONS、BYE、REFER、SUBSCRIBE、NOTIFY、INFO、PUBLISH、MESSAGE

サポート:置換、タイマー

コンテンツの長さ:0



404



B --- t
2016/12/07 15:07:10.270648 192.168.1.100:5060-> 192.168.1.59:5060

SIP / 2.0 404が見つかりません

経由:SIP / 2.0 / UDP 192.168.1.59:5060;branch=z9hG4bK70bbffe3;received=192.168.1.59

差出人:<sip:101@192.168.1.59>; tag = as42b18ba7

宛先:<sip:102@192.168.1.100>; tag = as4bbccb03

呼び出しID:681fa91b5d0b43d56125561a0a128540@192.168.1.59:5060

CSeq:102招待

サーバー:Asterisk PBX 11.25.0

許可:INVITE、ACK、CANCEL、OPTIONS、BYE、REFER、SUBSCRIBE、NOTIFY、INFO、PUBLISH、MESSAGE

サポート:置換、タイマー

セッション有効期限:1800;復習= uas

コンテンツの長さ:0



T ---> A
2016/12/07 15:07:10.271017 172.16.1.1:5060-> 172.16.1.10:45416

SIP / 2.0 404が見つかりません

経由:SIP / 2.0 / UDP 172.16.1.10:45416;branch=z9hG4bK-524287-1-4ccc9dc26a7e83a5;received=172.16.1.10;rport=45416

差出人:<sip:101@172.16.1.1; transport = UDP>; tag = e5ef327c

宛先:<sip:102@172.16.1.1; transport = UDP>; tag = as4d3749c4

呼び出しID:O5xqrboDI​​ZBqx44TJNEmPA ...

CSeq:2招待

サーバー:Asterisk PBX 11.25.0

許可:INVITE、ACK、CANCEL、OPTIONS、BYE、REFER、SUBSCRIBE、NOTIFY、INFO、PUBLISH、MESSAGE

サポート:置換、タイマー

コンテンツの長さ:0



また、 [global]セクションのsip.conf設定でuse_q850_reason = yes指定して、このような情報がハングアップパッケージに表示されるようにすることもできます。



Q.850
2016/12/07 15:26:35.746861 46.4.173.59:5060-> 213.231.39.180:45416

SIP / 2.0 503サービスは利用できません

経由:SIP / 2.0 / UDP 213.231.39.180:45416;branch=z9hG4bK-524287-1---a8e0763fbaad1b3f;received=213.231.39.180;rport=45416

差出人:<sip:101@46.4.173.59; transport = UDP>; tag = e4923c2b

宛先:<sip:102@46.4.173.59; transport = UDP>; tag = as6328694d

呼び出しID:YhLSgjZP-vgF2rrqlKstcA ...

CSeq:2招待

サーバー:Asterisk PBX 11.25.0

許可:INVITE、ACK、CANCEL、OPTIONS、BYE、REFER、SUBSCRIBE、NOTIFY、INFO、PUBLISH、MESSAGE

サポート:置換、タイマー

理由:Q.850;原因= 34

コンテンツの長さ:0


したがって、顧客に提供するものを正確に制御し、アスタリスクベースのPBXの仕様に従ってロジックを構成することもできます。



ご清聴ありがとうございました。



All Articles