Я нашел тупики для этой проблемы на разных форумах и сайтах, пора бы решить ее для всеобщего блага.
Дано 2 устройства:
IP-телефон cisco 894x с поддержкой h264
Программное обеспечение Bria для программного телефона B с поддержкой h264
Прежде чем вы скажете, боже, это так сложно, они несовместимы, бла-бла, угадайте, что и аудио, и видео работают отлично, если Cisco -> звонки -> Bria
А не наоборот. В этом случае на клиенте Bria он не предлагает видеопоток, а при нажатии на «отправить видеопоток» он говорит, что не поддерживается. Я вижу в журнале звездочки следующее.
chan_sip.c: 10118 in process_sdp: Игнорирование предложения видеопотока, поскольку номер порта равен нулю
2 устройства находятся в одной локальной сети без межсетевого экрана на них или между ними. Сервер Asterisk находится в одной локальной сети без брандмауэра, поэтому все 3 имеют отличный доступ друг к другу, но я включил canreinvite = yes, чтобы после установления сеанса SIP два устройства могли общаться друг с другом напрямую, а не проходить через Звездочка. Я могу подтвердить, что это работает, посмотрев дампы трафика АТС.
Так что же вызывает следующую ошибку: связь для видео работает только в одну сторону? Это не имеет смысла. Мои основы конфигурации звездочки и конкретные устройства:
[general]
context=default
directmedia=yes
nat=force_rport,comedia
Конфигурация расширения, другая - зеркало этого с другим номером:
[101]
canreinvite=yes
videosupport=yes
type=friend
host=dynamic
secret=hello
context=home
mailbox=101@home
deny=0.0.0.0/0
permit=192.168.0.0/255.255.0.0;
disallow=all
allow=g722
allow=speex
allow=ulaw
allow=alaw
allow=h261
allow=h263
allow=h263p
allow=h264
insecure=invite,port
Версия Asterisk:
astlinux-1.2.8 x86_64 - Asterisk 11.23.1
Что пробовал:
insecure = приглашение было оригинальным, я изменил его на insecure = пригласить, порт -> без разницы
добавление поддержки видео = да -> без разницы