3comシステムのバックアップとして機能させようとしているアスタリスクシステムがあります。すでにカンファレンスブリッジに使用しています。私たちの電話は3com3C10402Bなので、SIPイメージがない古い3com電話の問題はありません。
3com電話はSIP Asteriskと通信していますが、Asteriskが想定しているものと一致しないダイジェストユーザー名値を提示しているため、登録できません。
例として、ソフトフォンからの登録が成功した場合の関連する行を次に示します。
Server sends:
WWW-Authenticate: Digest algorithm=MD5, realm="asterisk", nonce="1cac3853"
Phone responds:
Authorization: Digest username="2321", realm="asterisk", nonce="1cac3853", uri="sip:192.168.254.12", algorithm=md5, response="d32df9ec719817282460e7c2625b6120"
3com電話の場合、これらの同じ回線は次のようになります(失敗します)。
Server sends:
WWW-Authenticate: Digest algorithm=MD5, realm="asterisk", nonce="6c915c33"
Phone responds:
Authorization: Digest username="sip:[email protected]", realm="asterisk", nonce="6c915c33", uri="sip:192.168.254.12", opaque="", algorithm=MD5, response="a89df25f19e4b4598595f919dac9db81"
基本的に、Asteriskは2321のDigest usernameフィールドにユーザー名を表示したいと考えていますが、3com電話はsip:[email protected]を送信しています。
ダイジェスト認証でこの形式のユーザー名を受け入れるようにアスタリスクに指示する方法を知っている人はいますか?
その拡張機能のsip.conf情報は次のとおりです。
[2321]
deny=0.0.0.0/0.0.0.0
disallow=all
type=friend
secret=1234
qualify=yes
port=5060
permit=0.0.0.0/0.0.0.0
nat=yes
mailbox=2321@device
Host=dynamic
dtmfmode=rfc2833
dial=SIP/2321
context=from-internal
canreinvite=no
callerid=device <2321>
allow=ulaw, alaw
call-limit=50
...そして、グリットに興味がある人のために、登録試行のデバッグ出力は次のとおりです。
REGISTER sip:192.168.254.12 SIP/2.0 v:SIP/2.0/UDP 192.168.254.157:5060 t: f: i:fa4451d8-01d6-1cc2-13e4-00e0bb33beb9 CSeq:18580 REGISTER Max-Forwards:70 m :; dt = 544 有効期限:3600 ユーザーエージェント:3Com-SIP-Phone/V8.0.1.3 X-3Com-PhoneInfo:firstRegistration = no; primaryCallP = 192.168.254.12; SecondaryCallP = 0.0.0.0; ---(11ヘッダー0行)--- 最新のREGISTERリクエストを基本リクエストとして使用 192.168.254.157に送信:5060(NATなし) SIP/2.0100試行中 経由:SIP/2.0/UDP 192.168.254.157:5060;受信= 192.168.254.157 From: To: Call-ID:fa4451d8-01d6-1cc2-13e4-00e0bb33beb9 CSeq:18580 REGISTER ユーザーエージェント:アスタリスクPBX 許可:INVITE、ACK、CANCEL、OPTIONS、BYE、REFER、SUBSCRIBE、NOTIFY サポート:置換 連絡先: Content-長さ:0 SIP/2.0401無許可 経由:SIP/2.0/UDP 192.168.254.157:5060;received=192.168。 254.157 From: To :; tag = as3fb867e2 Call-ID:fa4451d8-01d6-1cc2-13e4-00e0bb33beb9 CSeq:18580 REGISTER ユーザーエージェント:アスタリスクPBX 許可:INVITE、ACK、CANCEL、OPTIONS、BYE、REFER、SUBSCRIBE、NOTIFY サポート:置換 WWW-認証:ダイジェストアルゴリズム= MD5 、realm = "asterisk"、nonce = "6c915c33" Content-Length:0 SIPダイアログ 'fa4451d8-01d6-1cc2-13e4-00e0bb33beb9' in 32000 ms(メソッド:REGISTER) confbridge * CLI> REGISTER sip:192.168.254.12 SIP/2.0 v:SIP/2.0/UDP 192.168.254.157:5060 t: f: i:fa4451d8-01d6-1cc2-13e4-00e0bb33beb9 CSeq:18581 REGISTER Max-Forwards:70 m :; dt = 544 Expires:3600 User-Agent:3Com-SIP-Phone/V8。 0.1.3 認証:ダイジェストusername = "sip:[email protected]"、realm = "asterisk"、nonce = "6c915c33"、uri = "sip:192.168.254.12"、opaque = ""、 Algorithm = MD5、response = "a89df25f19e4b4598595f919dac9db81" X-3Com-PhoneInfo:firstRegistration = no; primaryCallP = 192.168.254.12; SecondaryCallP = 0.0.0.0; ---(12ヘッダー0行)--- 最新のREGISTERリクエストを基本リクエストとして使用 192.168.254.157に送信:5060(NAT) SIP/2.0100試行中 経由:SIP/2.0/UDP 192.168.254.157:5060;received= 192.168.254.157 From: To: Call-ID:fa4451d8-01d6-1cc2-13e4-00e0bb33beb9 CSeq:18581 REGISTER User -エージェント:Asterisk PBX 許可:INVITE、ACK、CANCEL、OPTIONS、BYE、REFER、SUBSCRIBE、NOTIFY サポート:置換 連絡先: Content-Length :0 SIP/2.0403認証ユーザー名がアカウント名と一致しません 経由:SIP/2.0/UDP 192.168.254.157: 5060; receive = 192.168.254.157 From: To :; tag = as3fb867e2 Call-ID:fa4451d8-01d6-1cc2-13e4-00e0bb33beb9 CSeq: 18581登録 ユーザーエージェント:Asterisk PBX 許可:INVITE、ACK、CANCEL、OPTIONS、BYE、REFER、SUBSCRIBE、NOTIFY サポート:置換 C ontent-Length:0 32000ミリ秒でSIPダイアログ 'fa4451d8-01d6-1cc2-13e4-00e0bb33beb9'の破棄をスケジュールする(方法: 登録)
これは私の状況では問題ないことがわかった回避策ですが、一般的にはひどいハックだと思います。私はこの宝石をchan_sip.cで見つけました:
[。
だから、私の回避策は置くことです:
シークレット=
各拡張機能の構成内。ネットワーク上の誰かが自分のものではない拡張機能に登録しようとしていることを心配していないので、これは私にとっては問題ありません。ただし、一般的には、それ以上の認証をバイパスするため、完全に安全ではありません(ユーザー名の不一致に関する問題を含む)。
私が見つけることができるすべてのことから(そしてあなたが見てきたと確信しています)、あなたの設定は正しいようです。
私の唯一の提案は、defaultip=192.168.254.12
を設定することです。これは、私が標準として読んだものとあなたのsip.confの間に欠けていることがわかる唯一の考えのようです。
幸運を!