Страница 1 из 2
Кодек G729AB и asterisk
Добавлено: 03 мар 2015, 01:49
Vilent
Есть оборудование, которое имеет поддержку кодеков G711a, ACELP 4.8 и G729ab.
При использовании G711a все работает.
Есть ли у Asterisk возможность работать с G729AB? Насколько я понял G729AB и G729A не совсем совместимы. При попытке звонка от оборудования всегда приходит отбой Busy Here.
Re: Кодек G729AB и asterisk
Добавлено: 03 мар 2015, 08:31
Paguk
А Вы уверены, что кодек G729A уже установлен на Ваш астериск?
Re: Кодек G729AB и asterisk
Добавлено: 03 мар 2015, 09:18
awsswa
core show translation
Re: Кодек G729AB и asterisk
Добавлено: 03 мар 2015, 10:14
Vilent
Кодек G729 уставновлен.
В выводе core show translation имеется строка c g729 и различными числами. Кроме этого если на программном телефоне выставить только g729 и создать для него учетку в sip.conf со строчками:
то дозвон проходит.
Re: Кодек G729AB и asterisk
Добавлено: 03 мар 2015, 10:16
gosha
Re: Кодек G729AB и asterisk
Добавлено: 03 мар 2015, 11:01
awsswa
посмотреть дебаг не судьба - будет видно почему не договорились
Re: Кодек G729AB и asterisk
Добавлено: 03 мар 2015, 11:21
ded
Vilent писал(а): Насколько я понял G729AB и G729A не совсем совместимы.
Ерунду пишете.
G729AB сокращение, в полном виде это две разновидности кодека G.729 - annex A & annex B. Оборудование поддерживает обе разновидности, с плавающей и с фиксированной запятой. Как Вы поняли G.729 - annex A & annex B не совместим с G.729 - annex A?
https://ru.wikipedia.org/wiki/G.729
https://ru.wikipedia.org/wiki/G.729A
Re: Кодек G729AB и asterisk
Добавлено: 03 мар 2015, 11:33
amateur
Vilent писал(а):Есть ли у Asterisk возможность работать с G729AB?
Берем последнюю ревизию chan_sip.c из SVN и в функции:
Код: Выделить всё
12801 /*! \brief Add codec offer to SDP offer/answer body in INVITE or 200 OK */
12802 static void add_codec_to_sdp(const struct sip_pvt *p,
видим следующее:
Код: Выделить всё
12835 if (ast_format_cmp(format, ast_format_g729) == AST_FORMAT_CMP_EQUAL) {
12836 /* Indicate that we don't support VAD (G.729 annex B) */
12837 ast_str_append(a_buf, 0, "a=fmtp:%d annexb=no\r\n", rtp_code);
Фраза "we don't support VAD (G.729 annex B)" наталкивает на мысль, что G.729AB НЕ ПОДДЕРЖИВАЕТСЯ.
Re: Кодек G729AB и asterisk
Добавлено: 03 мар 2015, 12:12
ded
Фраза "we don't support VAD (G.729 annex B)" меня наталкивает на мысль, что НЕ ПОДДЕРЖИВАЕТСЯ только G.729B (где VAD).
G.729 has been extended with various features, commonly designated as G.729a and G.729b. The differences between these versions are noteworthy because they each have additional properties and thus different use-cases:
G729: original codec and uses high complexity algorithm
G729A or A annex: medium complexity variant of G.729 and it is compatible with G729. It is less complex but has slightly lower voice quality
G729B or B annex: G729 with silence suppression and not compatible with the previous ones.
G729AB: G729A with silence suppression and only compatible with G729B.
Re: Кодек G729AB и asterisk
Добавлено: 03 мар 2015, 13:08
amateur
ded писал(а):только G.729B (где VAD).
Это верно. Только дело в том, что G.729AB - это G.729 "Annex A" и "Annex B" одновременно. Если из "AB" убрать "B", то останется только "A", а это уже другой стандарт