LINUX.ORG.RU
ФорумAdmin

Asterisk, повторные звонки

 ,


0

1

Есть такая конструкция: PSTN -> SIP Provider A <- SIP trunk -> Asterisk A <- SIP trunk -> Asterisk B <- SIP Trunk -> AS5300 <-> PSTN.

XXX, YYY - номера PSTN.

Из астериска A делается:

[PSTN_in]
exten => XXX,1,Answer()
exten => XXX,2,Dial(SIP/B/YYY)
exten => XXX,3,Hangup()

Контекст для пира A на пире B:

[out_for_A]
exten => YYY,1,Answer()
exten => YYY,2,Dial(SIP/PSTN/YYY,30)
exten => YYY,3,Hangup()

Звонок проходит, RTP ходит, все замечательно.

Но после того, как со стороны PSTN перед A кладется трубка, на YYY снова приходит «призрачный» звонок, по которому уже тишина.

Если есть мысли уже по этой конструкции, подскажите, пожалуйста. Если нет - могу что-то еще добавить.

★★★

Последнее исправление: GFORGX (всего исправлений: 2)

asterisk -vvvr, и смотри, что происходит.

Если этого не достаточно, sip set debug on, и изучай дебаг. Если и этого не достаточно, то собирай трафик с помощью tcpdump, и изучай в wireshark. Либо сюда всё это пости, может, разберёмся.

Black_Shadow ★★★★★
()

Соглашусь с Turbid. Очень похоже, что во всей этой цепочке не верно детектируется отбой. Надо настраивать шлюз PSTN на идентификацию busy. Можно записать тон и натаскать шлюз PSTN на его параметры, просить провайдера PSTN менять полюса при отбое, перейти на ISDN.

petav ★★★★★
()

Хммм... А я пишу сразу так:

[ctx1]
exten => 111,1,Dial(SIP/box1/${EXTEN},,Tt)
exten => 112,1,Dial(SIP/box1/${EXTEN},,Tt)
exten => 119,1,Dial(SIP/box1/${EXTEN},,Tt)
exten => 121,1,Dial(SIP/box2/${EXTEN},,Tt)

[ctx2]
...
т.е. без «Answer»/«Hangup».

berrywizard ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.