質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Raspberry Pi

Raspberry Piは、ラズベリーパイ財団が開発した、名刺サイズのLinuxコンピュータです。 学校で基本的なコンピュータ科学の教育を促進することを意図しています。

Q&A

1回答

5900閲覧

Raspberry Pi:PJSIPより発信、応答した瞬間に切断されてしまう

nakky

総合スコア10

Raspberry Pi

Raspberry Piは、ラズベリーパイ財団が開発した、名刺サイズのLinuxコンピュータです。 学校で基本的なコンピュータ科学の教育を促進することを意図しています。

0グッド

0クリップ

投稿2016/11/15 16:33

編集2016/11/19 18:54

###前提・実現したいこと
PJSIPにてAsteriskと接続、他のSIPクライアントとの通信を行いたい。
Make Call でSIPクライアントへ発信できるが、
SIPクライアントで応答した瞬間に、切断されてしまう。

解決策を教えていただければと思います。

【補足】
2台のAndroid端末にインストールした SIPクライアント間で通話は確認済み
上記のSIPクライアントへPJSIPから発信した場合にのみ事象が発生

Asteriskをインストールしているハード/OS は以下となります。
Raspberry Pi 2
Linux raspberrypi 4.1.19-v7+ #858 SMP Tue Mar 15 15:56:00 GMT 2016 armv7l GNU/Linux
###構成
イメージ説明
###発生している問題・エラーメッセージ
以下2つのログを添付します。
・asterisk -vvvvr での発信・切断時のログ
・pjsuaより、Make callにて発信・切断時のログ
(ログが長いため、一部削除しております。)

[ asterisk ログ ]

Connected to Asterisk 1.8.13.1~dfsg1-3+deb7u4 currently running on raspberrypi (pid = 2161) Verbosity was 0 and is now 4 -- Registered SIP '32' at 192.168.11.204:5061 == Using SIP RTP CoS mark 5 -- Executing [30@default:1] Dial("SIP/32-00000004", "SIP/30,30") in new stack == Using SIP RTP CoS mark 5 -- Called SIP/30 -- SIP/30-00000005 is ringing [Nov 19 09:49:54] NOTICE[2569]: res_rtp_asterisk.c:2339 ast_rtp_read: Unknown RTP codec 95 received from '(null)' -- SIP/30-00000005 answered SIP/32-00000004 -- Locally bridging SIP/32-00000004 and SIP/30-00000005 == Spawn extension (default, 30, 1) exited non-zero on 'SIP/32-00000004'

[ pjsip ログ ]

Make call: sip:30@192.168.11.204 22:41:26.717 pjsua_call.c !Making call with acc #2 to sip:30@192.168.11.204 22:41:26.717 pjsua_aud.c .Set sound device: capture=-99, playback=-99 22:41:26.717 pjsua_aud.c ..Setting null sound device.. 22:41:26.717 pjsua_app.c ...Turning sound device ON 22:41:26.717 pjsua_aud.c ...Opening null sound device.. 22:41:26.718 pjsua_media.c .Call 0: initializing media.. 22:41:26.719 pjsua_media.c ..RTP socket reachable at 192.168.11.204:4000 22:41:26.719 pjsua_media.c ..RTCP socket reachable at 192.168.11.204:4001 22:41:26.719 pjsua_media.c ..Media index 0 selected for audio call 0 22:41:26.722 pjsua_core.c ....TX 1119 bytes Request msg INVITE/cseq=9623 (tdta0xc48218) to UDP 192.168.11.204:5060: INVITE sip:30@192.168.11.204 SIP/2.0 Via: SIP/2.0/UDP 192.168.11.204:5061;rport;branch=z9hG4bKPjGRVw8t3Z.xhPtTKMcXwT-sS1nPDGtmFG Max-Forwards: 70 From: sip:31@192.168.11.204;tag=dY-GFFdWGeLYZM8Khh-x0nOVQiZ-Qo4p To: sip:30@192.168.11.204 Contact: <sip:31@192.168.11.204:5061;ob> Call-ID: qJJZH.7BBUsvFaEqHvBb3msd.vTKfoLO CSeq: 9623 INVITE Allow: PRACK, INVITE, ACK, BYE, CANCEL, UPDATE, INFO, SUBSCRIBE, NOTIFY, REFER, MESSAGE, OPTIONS Supported: replaces, 100rel, timer, norefersub Session-Expires: 1800 Min-SE: 90 User-Agent: PJSUA v2.5.5 Linux-4.1.19/armv7l/glibc-2.13 Content-Type: application/sdp Content-Length: 479 v=0 o=- 3688206086 3688206086 IN IP4 192.168.11.204 s=pjmedia b=AS:84 t=0 0 a=X-nat:0 m=audio 4000 RTP/AVP 98 97 99 104 3 0 8 9 96 c=IN IP4 192.168.11.204 b=TIAS:64000 a=rtcp:4001 IN IP4 192.168.11.204 a=sendrecv a=rtpmap:98 speex/16000 a=rtpmap:97 speex/8000 a=rtpmap:99 speex/32000 a=rtpmap:104 iLBC/8000 a=fmtp:104 mode=30 a=rtpmap:3 GSM/8000 a=rtpmap:0 PCMU/8000 a=rtpmap:8 PCMA/8000 a=rtpmap:9 G722/8000 a=rtpmap:96 telephone-event/8000 a=fmtp:96 0-16 --end msg-- 22:41:26.726 pjsua_app.c .......Call 0 state changed to CALLING >>> 22:41:26.728 pjsua_core.c .RX 572 bytes Response msg 401/INVITE/cseq=9623 (rdata0xc3d3b4) from UDP 192.168.11.204:5060: SIP/2.0 401 Unauthorized Via: SIP/2.0/UDP 192.168.11.204:5061;branch=z9hG4bKPjGRVw8t3Z.xhPtTKMcXwT-sS1nPDGtmFG;received=192.168.11.204;rport=5061 From: sip:31@192.168.11.204;tag=dY-GFFdWGeLYZM8Khh-x0nOVQiZ-Qo4p To: sip:30@192.168.11.204;tag=as78823107 Call-ID: qJJZH.7BBUsvFaEqHvBb3msd.vTKfoLO CSeq: 9623 INVITE Server: Asterisk PBX 1.8.13.1~dfsg1-3+deb7u4 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH Supported: replaces, timer WWW-Authenticate: Digest algorithm=MD5, realm="asterisk", nonce="6230a0dc" Content-Length: 0 --end msg-- 22:41:26.739 pjsua_core.c .......TX 1281 bytes Request msg INVITE/cseq=9624 (tdta0xc48218) to UDP 192.168.11.204:5060: INVITE sip:30@192.168.11.204 SIP/2.0 Via: SIP/2.0/UDP 192.168.11.204:5061;rport;branch=z9hG4bKPjmM11URHgUQW7GNP2eDt6l4MyOlOiOO0Z Max-Forwards: 70 From: sip:31@192.168.11.204;tag=dY-GFFdWGeLYZM8Khh-x0nOVQiZ-Qo4p To: sip:30@192.168.11.204 Contact: <sip:31@192.168.11.204:5061;ob> Call-ID: qJJZH.7BBUsvFaEqHvBb3msd.vTKfoLO CSeq: 9624 INVITE Allow: PRACK, INVITE, ACK, BYE, CANCEL, UPDATE, INFO, SUBSCRIBE, NOTIFY, REFER, MESSAGE, OPTIONS Supported: replaces, 100rel, timer, norefersub Session-Expires: 1800 Min-SE: 90 User-Agent: PJSUA v2.5.5 Linux-4.1.19/armv7l/glibc-2.13 Authorization: Digest username="31", realm="asterisk", nonce="6230a0dc", uri="sip:30@192.168.11.204", response="25d92327951bc9291b1732b2cfdfeae0", algorithm=MD5 Content-Type: application/sdp Content-Length: 479 v=0 o=- 3688206086 3688206086 IN IP4 192.168.11.204 s=pjmedia b=AS:84 t=0 0 a=X-nat:0 m=audio 4000 RTP/AVP 98 97 99 104 3 0 8 9 96 c=IN IP4 192.168.11.204 b=TIAS:64000 a=rtcp:4001 IN IP4 192.168.11.204 a=sendrecv a=rtpmap:98 speex/16000 a=rtpmap:97 speex/8000 a=rtpmap:99 speex/32000 a=rtpmap:104 iLBC/8000 a=fmtp:104 mode=30 a=rtpmap:3 GSM/8000 a=rtpmap:0 PCMU/8000 a=rtpmap:8 PCMA/8000 a=rtpmap:9 G722/8000 a=rtpmap:96 telephone-event/8000 a=fmtp:96 0-16 --end msg-- 22:41:27.244 pjsua_aud.c .....Conf connect: 1 --> 0 22:41:27.245 conference.c ......Port 1 (ringback) transmitting to port 0 (Master/sound) 22:41:27.245 pjsua_app.c .....Call 0 state changed to EARLY (180 Ringing) 22:41:29.994 pjsua_core.c .RX 895 bytes Response msg 200/INVITE/cseq=9624 (rdata0xc3d3b4) from UDP 192.168.11.204:5060: SIP/2.0 200 OK Via: SIP/2.0/UDP 192.168.11.204:5061;branch=z9hG4bKPjmM11URHgUQW7GNP2eDt6l4MyOlOiOO0Z;received=192.168.11.204;rport=5061 From: sip:31@192.168.11.204;tag=dY-GFFdWGeLYZM8Khh-x0nOVQiZ-Qo4p To: sip:30@192.168.11.204;tag=as6fc3ea6b Call-ID: qJJZH.7BBUsvFaEqHvBb3msd.vTKfoLO CSeq: 9624 INVITE Server: Asterisk PBX 1.8.13.1~dfsg1-3+deb7u4 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH Supported: replaces, timer Session-Expires: 1800;refresher=uas Contact: <sip:30@192.168.11.204:5060> Content-Type: application/sdp Content-Length: 300 v=0 o=root 1629173699 1629173699 IN IP4 192.168.11.204 s=Asterisk PBX 1.8.13.1~dfsg1-3+deb7u4 c=IN IP4 192.168.11.204 t=0 0 m=audio 16602 RTP/AVP 3 0 8 96 a=rtpmap:3 GSM/8000 a=rtpmap:0 PCMU/8000 a=rtpmap:8 PCMA/8000 a=rtpmap:96 telephone-event/8000 a=fmtp:96 0-16 a=ptime:20 a=sendrecv --end msg-- 22:41:30.008 pjsua_app.c .....Call 0 state changed to CONNECTING 22:41:30.010 pjsua_media.c .....Call 0: updating media.. 22:41:30.010 pjsua_aud.c ......Audio channel update.. 22:41:30.011 strm0xc517cc .......VAD temporarily disabled 22:41:30.012 strm0xc517cc .......Encoder stream started 22:41:30.012 strm0xc517cc .......Decoder stream started 22:41:30.012 pjsua_media.c ......pjsua_aud_channel_update() failed for call_id 0 media 0: Invalid operation (PJ_EINVALIDOP) 22:41:30.013 pjsua_media.c ......Error updating media call00:0: Invalid operation (PJ_EINVALIDOP) 22:41:30.013 pjsua_call.c .....Unable to create media session: No active media stream after negotiation (PJMEDIA_SDPNEG_ENOMEDIA) [status=220048] 22:41:30.014 pjsua_core.c ........TX 340 bytes Request msg BYE/cseq=9625 (tdta0xc41048) to UDP 192.168.11.204:5060: BYE sip:30@192.168.11.204:5060 SIP/2.0 Via: SIP/2.0/UDP 192.168.11.204:5061;rport;branch=z9hG4bKPjwneXgrEzTyf9OgujNoasSp3AA.3vF9l6 Max-Forwards: 70 From: sip:31@192.168.11.204;tag=dY-GFFdWGeLYZM8Khh-x0nOVQiZ-Qo4p To: sip:30@192.168.11.204;tag=as6fc3ea6b Call-ID: qJJZH.7BBUsvFaEqHvBb3msd.vTKfoLO CSeq: 9625 BYE Content-Length: 0 --end msg-- 22:41:30.022 sip_endpoint.c .Response msg 487/INVITE/cseq=9624 (rdata0xc3d3b4) from 192.168.11.204:5060 was dropped/unhandled by any modules 22:41:30.023 pjsua_core.c .RX 483 bytes Response msg 200/BYE/cseq=9625 (rdata0xc3d3b4) from UDP 192.168.11.204:5060: SIP/2.0 200 OK Via: SIP/2.0/UDP 192.168.11.204:5061;branch=z9hG4bKPjwneXgrEzTyf9OgujNoasSp3AA.3vF9l6;received=192.168.11.204;rport=5061 From: sip:31@192.168.11.204;tag=dY-GFFdWGeLYZM8Khh-x0nOVQiZ-Qo4p To: sip:30@192.168.11.204;tag=as6fc3ea6b Call-ID: qJJZH.7BBUsvFaEqHvBb3msd.vTKfoLO CSeq: 9625 BYE Server: Asterisk PBX 1.8.13.1~dfsg1-3+deb7u4 Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH Supported: replaces, timer Content-Length: 0 --end msg-- 22:41:30.025 pjsua_aud.c .....Conf disconnect: 1 -x- 0 22:41:30.025 conference.c ......Port 1 (ringback) stop transmitting to port 0 (Master/sound) 22:41:30.025 pjsua_app.c .....Call 0 is DISCONNECTED [reason=488 (Not Acceptable Here)] 22:41:30.026 pjsua_app_comm ..... [DISCONNCTD] To: sip:30@192.168.11.204;tag=as6fc3ea6b Call time: 00h:00m:00s, 1st res in 526 ms, conn in 3300ms #0 audio deactivated 22:41:30.026 pjsua_media.c .....Call 0: deinitializing media.. Segmentation fault

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

over

2016/11/16 00:34

asterisk側のログを提示する必要があるのではないでしょうか? 別コンソールで # asterisk -vvvvvvr を実行した上で、pjsipから発信、対象端末で応答 → 切断すれば、asteriskコンソール上にログが記録されます。そこに切断理由が記載されている可能性があります。
nakky

2016/11/19 01:18

ご指摘ありがとうございました。asterisk -vvvvr にて、事象発生時のログを追記いたしました。
guest

回答1

0

http://www.asteriskguru.com/tutorials/unknown_codec_received.html
https://community.asterisk.org/t/res-rtp-asterisk-c-unknown-rtp-codec-95-received-from/67704
これらを見るとcodec 95がちゃんと指定されていないのが原因で疎通が取れなくなっているようです。
その対処方法として、codec 95を指定してasteriskをリコンパイルするという方法が考えられます。

投稿2016/11/19 01:54

matsu

総合スコア702

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

nakky

2016/11/19 18:23

matsuさん ご指摘ありがとうございました。 Unknown RTP codec 95 をキーワードに検索をしたところ、 Android端末で使用していたZoiperでよく発生するとのことで、 SIPクライアントをCSipSimpleに変えたところ、 Unknown RTP codec 95 のエラーはなくなりました。 #######以下、CSipSipmleに変えてからのAsterisk -vvvvr ログ########## -- Registered SIP '32' at 192.168.11.204:5061 == Using SIP RTP CoS mark 5 -- Executing [30@default:1] Dial("SIP/32-00000048", "SIP/30,30") in new stack == Using SIP RTP CoS mark 5 -- Called SIP/30 -- SIP/30-00000049 is ringing -- SIP/30-00000049 answered SIP/32-00000048 -- Locally bridging SIP/32-00000048 and SIP/30-00000049  ←応答した直後 == Spawn extension (default, 30, 1) exited non-zero on 'SIP/32-00000048' ←応答した直後すぐに切断メッセージ ################################################### その他、SIPシーケンス等を見たところ、 BYEのシーケンスあたりより、ネガティブなキーワードが発生しているので、 以降、以下ログのあたりを中心に調べてみようと思います。 --end msg-- 02:00:20.460 pjsua_app.c .....Call 0 state changed to CONNECTING 02:00:20.461 pjsua_media.c .....Call 0: updating media.. 02:00:20.461 pjsua_aud.c ......Audio channel update.. 02:00:20.461 strm0x59c6c4 .......VAD temporarily disabled 02:00:20.462 strm0x59c6c4 .......Encoder stream started 02:00:20.462 strm0x59c6c4 .......Decoder stream started 02:00:20.462 pjsua_media.c ......pjsua_aud_channel_update() failed for call_id 0 media 0: Invalid operation (PJ_EINVALIDOP) 02:00:20.463 pjsua_media.c ......Error updating media call00:0: Invalid operation (PJ_EINVALIDOP) 02:00:20.463 pjsua_call.c .....Unable to create media session: No active media stream after negotiation (PJMEDIA_SDPNEG_ENOMEDIA) [status=220048] 02:00:20.463 pjsua_core.c ........TX 340 bytes Request msg BYE/cseq=7606 (tdta0x58c048) to UDP 192.168.11.204:5060: BYE sip:30@192.168.11.204:5060 SIP/2.0 Via: SIP/2.0/UDP 192.168.11.204:5061;rport;branch=z9hG4bKPj4trDiwH6dvnRsVZGzoum4Owzo6EJqibX Max-Forwards: 70 From: sip:32@192.168.11.204;tag=bGYdDmZ2tW0eYJhCGbpk4XVo4qFJXKac To: sip:30@192.168.11.204;tag=as184e030a Call-ID: xnSBiWujAj3JmI8Dg3TwfIEW-peZwPsw CSeq: 7606 BYE Content-Length: 0 --end msg-- 02:00:20.473 pjsua_aud.c .....Conf disconnect: 1 -x- 0 02:00:20.473 conference.c ......Port 1 (ringback) stop transmitting to port 0 (Master/sound) 02:00:20.473 pjsua_app.c .....Call 0 is DISCONNECTED [reason=488 (Not Acceptable Here)] 02:00:20.474 pjsua_app_comm ..... [DISCONNCTD] To: sip:30@192.168.11.204;tag=as184e030a Call time: 00h:00m:00s, 1st res in 226 ms, conn in 1793ms #0 audio deactivated 02:00:20.474 pjsua_media.c .....Call 0: deinitializing media..
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問