Столкнулся с проблемой, при перекодировании с одного кодека на другой - тишина.
телефон - астериск - оператор
в астериске для телефона и оператора стоит:
disallow=all
allow=ulaw:20&alaw:20
Иногда происходит ситуация, когда при исходящем звонке на канале телефона устанавливается ulaw, а на транке оператора alaw. В этом случае абоненты друг друга не слышат.
Анализ wireshark'ом показал, что к/от оператора есть rtp трафик в кодеке alaw, к/от телефона есть трафик в кодеке ulaw.
И вот после поднятия трубки вызываемым абонентом (на вызов ответил абонент со стороны оператора):
Входящий rtp поток в кодеке alaw содержит информацию (ну к примеру 100kB), а дальше, rtp поток к телефону в кодеке ulaw не содержит информацию (0 байт). Соответственно от телефона к астериску rtp поток содержит информацию, а от астериска к оператору уже пакетов нет.
Т.е. астериск перестал выполнять перекодирование?
core show translation показывает:
ulaw alaw
ulaw - 9150
alaw 9150 -
Когда вызываемый абонент кладет трубку rtp трафик становится двунаправленным на обоих каналах и не пустой ( > 0 байт)
Почему это может происходить?
Задан: 2018-12-28 15:00:22 +0400
Просмотрен: 273 раз
Обновлен: Dec 28 '18
Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании
Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией
GNU GPL.
directmedia=no стоит? Или directmedia=nonat
Out ( 2018-12-28 16:38:15 +0400 )редактироватьdirectmedia=no выставлен
wellus ( 2018-12-28 16:52:48 +0400 )редактироватьу меня rtp потоки идут четко через астериск...
wellus ( 2018-12-28 20:04:30 +0400 )редактировать