Назад | Перейти на главную страницу

Asterisk с программным телефоном и веб-телефоном

У меня проблема с Asterisk. Я написал WebPhone, поэтому я должен добавить своим коллегам некоторые детали конфигурации:

encryption = yes
avpf = yes
icesupport = yes
dtlsenable =yes
dtlsverify = no
dtlssetup = actpass
dtlscertfile = valid path to certyficate
dtlsprivatekey = valid path to certyficate
force_avp = yes

И все работает с веб-телефоном. Но когда я хочу позвонить от своего партнера (с конфигурацией выше) с софтфона (например, zoiper или linphone), я получил сообщение об ошибке «488 Неприемлемо здесь, возможность носителя в настоящее время недоступна» и в консоли Asterisk:

[Oct 27 12:00:23] NOTICE[2214][C-00000001]: chan_sip.c:10148 process_sdp: Received AVP profile in audio answer but AVPF is enabled, disabling: audio 8000 RTP/AVP 3 110 8 0 98 101
[Oct 27 12:00:23] WARNING[2214][C-00000001]: chan_sip.c:10543 process_sdp: We are requesting SRTP for audio, but they responded without it!

И мой вопрос прост ... Могу ли я настроить одноранговый узел Asterisk, чтобы он мог работать с программным телефоном и веб-телефоном? :)

Заранее спасибо! Мэтт.

Это не проблема с подключением программных телефонов к веб-телефонам. Пользовательский агент (я предполагаю, что тот, который вы написали, но вы не указываете) не отвечает должным образом. Другой UA (или промежуточный программный коммутатор) пытается установить RTP-соединение. Один UA заявил, что поддерживает протокол SRTP (безопасный), но не использует безопасный канал RTP. Это сбивает с толку другой UA. И поэтому я подозреваю, что звонок не работает (хотя вы не показываете никаких подробностей).

Решение, вероятно, исправит, что UA либо не будет транслировать, что он поддерживает SRTP, либо он будет реализовывать SRTP.

Судя по 2 строкам, которые вы разместили выше, вы используете Asterisk в качестве программного переключателя. Я предлагаю вам включить отладку RTP и SIP в Asterisk и убедиться, что UA не разрешает повторное приглашение (также называемое Direct Media). Это заставит поток RTP проходить через Asterisk, и вы увидите, что заголовки ясно показывают несоответствие.