Исходящий SIP...

R2D2

Member
Привет.
Ведем разработку поэтому пока находимся на триале.
у нас WCS соединен с asterisk.
Откомпилировали пример Phone-min под андройд. Приложение через WCS по CHAN_SIP регистрируется в asterisk успешно.
Успешно принимаются входящие звонки, абонента слышно прекрасно.
Проблема с исходящими: соединение как то странно долго проходит, потом слышно что то воспроизводится тонким-ускоренным голосом. Что разобрать сложно, но точно это не asterisk....
Что это может быть? Или это ограничения триала?
 

Max

Administrator
Staff member
Здравствуйте.
Пришлите пожалуйста логи и конфиги и дамп на logs@flashphoner.com
  • WCS_HOME/logs
  • WCS_HOME/conf
  • tcpdump udp -s 4096 -w log.pcap
Проверим.
 

R2D2

Member
Поковырялся в настройках: flashphoner.properties, watchdog.properties, account.xml.
Исходящие соединения тоже пошли, но звук странный....с передающей стороны голос стал тонкий(будто ускоренное воспроизведение), а c принимающей наоборот толстый (будто замедление)
Логи и настройки послал вам на почту....
 

R2D2

Member
Администраторы. проверили? куда копать? я думаю проблема с кодеками....
 

Max

Administrator
Staff member
Клиент использует кодек g722; для WCS-Asterisk – кодек g711U. При транскодинге g722 есть подобное искажение аудио. Желательно вместо g722 использовать другой кодек, например Opus или g711. Звонок с Android-устройства (обычно используют Opus)?
 

Attachments

R2D2

Member
Клиент phone-min скомпилирован из вашего пакета примеров. Вроде нигде не заметил где в примере задается кодек. Наверное берется по умолчанию? как задать OPUS?
Я думаю может исключить в настройках WCS кодек G.722 через параметр codecs_exclude_sip?
 

Max

Administrator
Staff member
Набор кодеков для клиента зависит от используемого устройства. В этом случае g722 надо исключить для клиента.
Например, как в примере Media Devices.
Для Phone-min для объекта callOptions нужно указать кодеки, которые следует исключить, например:
Code:
String[] stripCodec = {"G722", "G729"};
callOptions.setStripCodecs(stripCodec);
 

R2D2

Member
Исключили кодаки, как вы предложили через
String[] stripCodec = {"G722", "G729"};
callOptions.setStripCodecs(stripCodec);
Результат отрицательный.
Для андройд версии более 6 - ничего не изменилось (слышим замедление и убыстрение звука - как ранее и было)
Для версии андройд менее 5 (для 4 и 5) - соединение перестало вообще проходить...
как заставить WCS совершать нормальные звонки?
 

Max

Administrator
Staff member
Попробуйте откатить изменения на клиенте и убрать кодек g722 на стороне сервера.
Для этого на севрере в конфиге WCS_HOME/conf/flashphoner.properties нужно убрать кодек g722
Заменить
Code:
codecs=opus,alaw,ulaw,g729,speex16,g722,mpeg4-generic,telephone-event,h264,vp8,flv,mpv
На
Code:
codecs=opus,alaw,ulaw,g729,speex16,mpeg4-generic,telephone-event,h264,vp8,flv,mpv
Второй вариант -добавить кодек g722 в sip exclude
Заменить
Code:
codecs_exclude_sip=mpeg4-generic,flv,mpv
На
Code:
codecs_exclude_sip=mpeg4-generic,flv,mpv,g722
 

Max

Administrator
Staff member
Можно также попробовать оставить из голосовых кодеков только ulaw способом, описанным выше.
 
Top