LINUX.ORG.RU
ФорумAdmin

asterisk ivr и оператор МТС

 ,


0

1

Приветствую! Только начинаю разбираться с asterisk. Ситуация следующая. Настроено IVR для входящих с транка (один транк всего). Если звонить с городских - все отлично, asterisk берет трубу и проигрывает ivr. Если звонить с Билайн и Мегафона - тоже все хорошо. А вот если звонить с МТС (с разных телефонов пробовали), то по логам asterisk все как обычно - входящий, блабла, Answer, играем ivr, ждем ввода.., но в трубе звонящего в это время просто идут гудки как будто ни кто не снимает трубку.

Кусок лога астера:

    -- Executing [s@ivr-1:1] Set("SIP/MGTS1001-00000035", "TIMEOUT_LOOPCOUNT=0") in new stack
    -- Executing [s@ivr-1:2] Set("SIP/MGTS1001-00000035", "INVALID_LOOPCOUNT=0") in new stack
    -- Executing [s@ivr-1:3] Set("SIP/MGTS1001-00000035", "_IVR_CONTEXT_ivr-1=") in new stack
    -- Executing [s@ivr-1:4] Set("SIP/MGTS1001-00000035", "_IVR_CONTEXT=ivr-1") in new stack
    -- Executing [s@ivr-1:5] Set("SIP/MGTS1001-00000035", "__IVR_RETVM=") in new stack
    -- Executing [s@ivr-1:6] GotoIf("SIP/MGTS1001-00000035", "0?skip") in new stack
    -- Executing [s@ivr-1:7] Answer("SIP/MGTS1001-00000035", "") in new stack
    -- Executing [s@ivr-1:8] Wait("SIP/MGTS1001-00000035", "1") in new stack
    -- Executing [s@ivr-1:9] Set("SIP/MGTS1001-00000035", "IVR_MSG=custom/main-ivr") in new stack
    -- Executing [s@ivr-1:10] Set("SIP/MGTS1001-00000035", "TIMEOUT(digit)=3") in new stack
    -- Digit timeout set to 3.000
    -- Executing [s@ivr-1:11] ExecIf("SIP/MGTS1001-00000035", "1?Background(custom/main-ivr)") in new stack
    -- <SIP/MGTS1001-00000035> Playing 'custom/main-ivr.slin' (language 'ru')
    -- Executing [s@ivr-1:12] WaitExten("SIP/MGTS1001-00000035", "20,") in new stack

Ответ на: комментарий от zgen

Я понимаю. Просто если кто сталкивался с подобным, то интересен вариант решения вопроса - контактировать с SIP оператором? или же это какая-то плюха компании МТС? Я так понимаю не совсем корректно идет обработка сигнала Answer кем-то?

smserg ()
Ответ на: комментарий от smserg

Надо контактировать. Минимизируй свой конфиг до Answer() и Playback() для этого случая, и покажи провайдеру, что происходит, и пусть они воспроизведут у себя ситуацию.

Krieger_Od ★★ ()
Ответ на: комментарий от smserg

контактировать с SIP оператором

Да

МТС

Удачи

Playing 'custom/main-ivr.slin'

Я так понимаю не совсем корректно идет обработка сигнала Answer кем-то

Судя по логу Asterisk начинает проигрывать main-ivr. Видимо та сторона не понимает что звуковой канал организовался. А если как предлагает Krieger_Od минимизировать конфиг,

  • первый раз этот звонок провести через Answer, Dial
  • второй раз через Answer, Playback

Будут ли слышно звук со строны Asterisk в трубке МТС?

petav ★★★★★ ()
Ответ на: комментарий от smserg

однозначно контактировать, т.к. у Вас нет договора с МТС. Думаю чтобы у Вас все заработало нужно полностью проключить голосовой канал - отправлять на входящий INVITE ANSWER (я про SIP синализацию а не про диалплан Астериска). в SIP еще существует early media, когда rtp трафик от Вашего астера уже летит и Вы дудите или IVR говорит в канал, но абоненты еще друг с другом не разговаривают (ANSWERа нет).

Vlad-76 ★★★ ()

Проблема была решена путем добавления Wait(2) перед Answer при входящем с номеров компании МТС. Осталось загадкой почему не успевает МТС обработать Answer.

smserg ()
Ответ на: комментарий от smserg

Попробуйте снять wireshark ом (или tcpdump) дамп - SIP сигнализацию в двух случаях и сравнить. в wireshark есть графический вывод SIP сигнализации. может увидите что астериск не досылает. Если картинки не будут отличаться тогда вопрос к оператору с кем у Вас транк организован.

Vlad-76 ★★★ ()
Ответ на: комментарий от smserg

яйца это еще цветочки, в центре дс приходилось сип-транки и Е1 у таких фееричных чертей брать, что несколько недель сношались и с ними, и с яйцами, и с мегафоном. По опыту - wait лучше всегда ставить, мало ли что.

Update: если это тот пров, о котором я думаю, то я примерно знаю где проблема.

SIP/MGTS1001

upcFrost ★★★★★ ()
Последнее исправление: upcFrost (всего исправлений: 1)
Ответ на: комментарий от upcFrost

Имею для своих клиентов много транков по SIP, у многих астериски. Ни разу такая проблема не возникала или никто не жаловался. Здесь все просто, адекватный провайдер заинтересован в решении проблемы. Или менять провайдера.

Vlad-76 ★★★ ()
Последнее исправление: Vlad-76 (всего исправлений: 1)
Ответ на: комментарий от upcFrost

Да не, на самом деле все в порядке с провайдером. Мне сразу дали контакты человека, с которым общаться там нормально можно по всем вопросам. Проблема была решена, Wait убран. Просто так как я не очень опытен еще в VoIP - не решаюсь по пустякам его беспокоить и хочу сначала сам разобраться. Проблема была в том, что у меня поднято несколько регистраций на SIP провайдера и входящий вызов приходил одновременно по всем ним. Так как я изначально был полный нуб, то стал пользовать FreePBX-distro. Там из-за кучи мусора в логах я не сразу это увидел и распознал. Как только поставил голый aster и сам стал его настраивать - сразу всплыло. Но FreePBX мне помог много понять.

smserg ()
Ответ на: комментарий от smserg

не решаюсь по пустякам его беспокоить и хочу сначала сам разобраться

Вот это довольно глупо. Ты разбирайся, но все-таки беспокой, да еще и проси объяснить. Если мужик адекватный - все норм будет. Да и вообще - ты можешь полгода искать проблему, которая на стороне провайдера. Лучше сразу всех на уши, а потом копать со всех сторон.

Кстати - объяснение про несколько регистраций и вызов по всем кажется крайне странным. В сипе нету возможности нескольких подключений, и большая часть (если не все) станций работает по принципу 'звонят все, принимает тот, кто последний появился'. Можт там какой их личный костыль, но сип - не джаббер, поле 'ресурс' в нем отсутствует

upcFrost ★★★★★ ()
Последнее исправление: upcFrost (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.