2017-02-12 3 views
2

Я пытаюсь запустить SRTP в моем приложении iOS с помощью PJSIP. У меня TLS работает, и без SRTP я могу совершать и принимать звонки. Однако с SRTP я получаю эту нечетную 488 ошибку на INVITE. Он не может инициализировать носитель.SRTP Проблема: PJSIP Ошибка инициализации медиаканала: не приемлемо Здесь [status = 170488]

Я читал другие статьи, посвященные кодекам. Но я застраховал, что коды, используемые моим сервером Asterisk, и те, которые скомпилированы с помощью библиотеки PJSIP в моем приложении iOS, одинаковы. Единственное, что я вижу здесь, это то, что я разрешил криптографию, и PJSIP не нравится. Есть предположения?

INVITE sip:[REDACTED]@[REDACTED]:47229;transport=TLS;ob SIP/2.0 

Via: SIP/2.0/TLS [REDACTED]:5161;rport;branch=z9hG4bKPj8ea1a332-0748-438f-ae74-5d17b038891d;alias 

From: "Test" <sip:[email protected]>;tag=7c3663cb-b5f5-4762-8526-8425d18b2466 

To: <sip:[REDACTED]@[REDACTED];ob> 

Contact: <sip:[email protected][REDACTED]:5161;transport=TLS> 

Call-ID: f454ef36-01ea-4f29-9482-4a10768bf1b7 

CSeq: 24942 INVITE 

Allow: OPTIONS, SUBSCRIBE, NOTIFY, PUBLISH, INVITE, ACK, BYE, CANCEL, UPDATE, PRACK, REGISTER, MESSAGE, REFER 

Supported: 100rel, timer, replaces, norefersub, path 

Session-Expires: 1800 

Min-SE: 90 

Max-Forwards: 70 

User-Agent: FPBX-AsteriskNOW-13.0.190.12(13.13.1) 

Content-Type: application/sdp 

Content-Length: 398 



v=0 

o=- 1582453973 1582453973 IN IP4 172.31.18.138 

s=Asterisk 

c=IN IP4 [REDACTED] 

t=0 0 

m=audio 11410 RTP/AVP 3 110 9 97 101 

a=crypto:1 AES_CM_128_HMAC_SHA1_80 inline:84m7hqGvMjTU21xzkhBS3RQpQQjJ+aep0VwSlhx+ 

a=rtpmap:3 GSM/8000 

a=rtpmap:110 speex/8000 

a=rtpmap:9 G722/8000 

a=rtpmap:97 iLBC/8000 

a=rtpmap:101 telephone-event/8000 

a=fmtp:101 0-16 

a=ptime:20 

a=maxptime:60 

a=sendrecv 


--end msg-- 
19:10:11.601 pjsua_call.c .Incoming Request msg INVITE/cseq=24942 (rdata0x1421f0540) 
19:10:11.603 tsx0x1421fe0a8 ...Transaction created for Request msg INVITE/cseq=24942 (rdata0x1421f0540) 
19:10:11.603 tsx0x1421fe0a8 ..Incoming Request msg INVITE/cseq=24942 (rdata0x1421f0540) in state Null 
19:10:11.603 tsx0x1421fe0a8 ...State changed from Null to Trying, event=RX_MSG 
19:10:11.603 dlg0x1421fd8a8 ....Transaction tsx0x1421fe0a8 state changed to Trying 
19:10:11.603 dlg0x1421fd8a8 ..UAS dialog created 
19:10:11.603 dlg0x1421fd8a8 ..Module mod-invite added as dialog usage, data=0x141de7588 
19:10:11.603 dlg0x1421fd8a8 ...Session count inc to 3 by mod-invite 
19:10:11.603 inv0x1421fd8a8 ..UAS invite session created for dialog dlg0x1421fd8a8 
19:10:11.603 dlg0x1421fd8a8 ...Session count inc to 3 by mod-pjsua 
19:10:11.603 pjsua_media.c ..Call 0: initializing media.. 
19:10:11.603 pjsua_call.c ..Error initializing media channel: Not Acceptable Here [status=170488] 
19:10:11.604  endpoint ..Response msg 488/INVITE/cseq=24942 (tdta0x1421fe800) created 
19:10:11.604 dlg0x1421fd8a8 ...Sending Response msg 488/INVITE/cseq=24942 (tdta0x1421fe800) 
19:10:11.606 tsx0x1421fe0a8 ...Sending Response msg 488/INVITE/cseq=24942 (tdta0x1421fe800) in state Trying 
19:10:11.606 pjsua_core.c ....TX 429 bytes Response msg 488/INVITE/cseq=24942 (tdta0x1421fe800) to TLS [REDACTED]:5161: 
SIP/2.0 488 Not Acceptable Here 

Via: SIP/2.0/TLS [REDACTED]:5161;rport=5161;received=[REDACTED];branch=z9hG4bKPj8ea1a332-0748-438f-ae74-5d17b038891d;alias 

Call-ID: f454ef36-01ea-4f29-9482-4a10768bf1b7 

From: "Test" <sip:[email protected]>;tag=7c3663cb-b5f5-4762-8526-8425d18b2466 

To: <sip:[REDACTED]@[REDACTED];ob>;tag=5oFGceZO4ZaKpLFEg7piOrM7IV2yeDLT 

CSeq: 24942 INVITE 

Content-Length: 0 




--end msg-- 

ответ

1

В случае, если у кого-либо еще есть эта проблема. Я скажу вам, что решило это для меня.

На Asterisk в моей конечной точке (pjsip show endpoint myendpoint) настройка у меня была media_encryption_optimistic установлено в true. Когда я установил это на false все началось.

Я не уверен, почему, как указано в звездочке, чтобы включить это. Но я подтвердил, что весь трафик действительно был зашифрован с помощью wirehark для проверки фактических речевых данных.

Если кто-нибудь знает, почему это было бы так, что это нужно было установить как ложное, это помогло бы мне лучше понять это. Но пока я работаю.

0

488/Не Приемлемый Здесь

Я также получаю такую ​​же проблему с моим сервером, Atlast я найти решение , получив знать, что это происходит потому, что кодек, используйте правильный кодек или отключить кодек отлично работает для вас.

Смежные вопросы