Страница 1 из 1

Входящий вызов не hungup'пится

Добавлено: 11 мар 2014, 10:42
alexborodach
Есть кусочек диалплана для звонка на городской номер

[context_aup_income_513107]
exten => s,1,Set(CALLERID(num)=8${CALLERID(num)})
exten => s,n,Dial(sip/555&sip/114&sip/132&sip/127&sip/216,4,t)
exten => s,n,Dial(sip/555&sip/114&sip/132&sip/127&sip/216&sip/116,30,t)
exten => s,n,Hangup

В логах вижу:
PRIME_BBCODE_SPOILER_SHOW PRIME_BBCODE_SPOILER:
-- Starting simple switch on 'DAHDI/11-1'
-- Executing [s@context_aup_income_513107:1] Set("DAHDI/11-1", "CALLERID(num)=8xxxxxxxxxx") in new stack
-- Executing [s@context_aup_income_513107:2] Dial("DAHDI/11-1", "sip/555&sip/114&sip/132&sip/127&sip/216,4,t") in new stack
-- Called sip/555
-- Called sip/114
[Mar 11 11:54:20] NOTICE[13516][C-00001744]: chan_sip.c:6758 update_call_counter: Call to peer '132' rejected due to usage limit of 1
-- Couldn't call sip/132
-- Called sip/127
== Extension Changed 216[context_aup_out] new state Ringing for Notify User 103
-- Called sip/216
-- SIP/127-000033b1 connected line has changed. Saving it until answer for DAHDI/11-1
-- SIP/127-000033b1 is ringing
-- SIP/114-000033af is ringing
-- SIP/555-000033ae is ringing
-- SIP/216-000033b2 is ringing
-- Nobody picked up in 4000 ms
-- Executing [s@context_aup_income_513107:3] Dial("DAHDI/11-1", "sip/555&sip/114&sip/132&sip/127&sip/216&sip/116,30,t") in new stack
== Extension Changed 216[context_aup_out] new state Idle for Notify User 103
-- Called sip/555
-- Called sip/114
[Mar 11 11:54:24] NOTICE[13516][C-00001744]: chan_sip.c:6758 update_call_counter: Call to peer '132' rejected due to usage limit of 1
-- Couldn't call sip/132
-- Called sip/127
-- Called sip/216
-- Called sip/116
-- SIP/127-000033b6 connected line has changed. Saving it until answer for DAHDI/11-1
-- SIP/127-000033b6 is ringing
-- SIP/116-000033b8 is ringing
-- SIP/114-000033b4 is ringing
-- SIP/555-000033b3 is ringing
-- SIP/114-000033b4 is ringing
-- SIP/216-000033b7 is ringing
-- SIP/216-000033b7 is ringing
-- SIP/216-000033b7 is ringing
-- Nobody picked up in 30000 ms
-- Executing [s@context_aup_income_513107:4] Hangup("DAHDI/11-1", "") in new stack
== Spawn extension (context_aup_income_513107, s, 4) exited non-zero on 'DAHDI/11-1'
-- Hanging up on 'DAHDI/11-1'
-- Hungup 'DAHDI/11-1'
т.е. астер должен сбросить вызов, так как никто трубку не поднял за 34 секунды, а потом вижу опять тоже самое
PRIME_BBCODE_SPOILER_SHOW PRIME_BBCODE_SPOILER:
-- Starting simple switch on 'DAHDI/11-1'
-- Executing [s@context_aup_income_513107:1] Set("DAHDI/11-1", "CALLERID(num)=8") in new stack
-- Executing [s@context_aup_income_513107:2] Dial("DAHDI/11-1", "sip/555&sip/114&sip/132&sip/127&sip/216,4,t") in new stack
-- Called sip/555
-- Called sip/114
-- Called sip/132
-- Called sip/127
-- Called sip/216
-- SIP/127-000033bc connected line has changed. Saving it until answer for DAHDI/11-1
-- SIP/127-000033bc is ringing
-- SIP/555-000033b9 is ringing
-- SIP/216-000033bd is ringing
-- SIP/114-000033ba is ringing
-- SIP/132-000033bb is ringing
-- Nobody picked up in 4000 ms
-- Executing [s@context_aup_income_513107:3] Dial("DAHDI/11-1", "sip/555&sip/114&sip/132&sip/127&sip/216&sip/116,30,t") in new stack
-- Called sip/555
-- Called sip/114
-- Called sip/132
-- Called sip/127
-- Called sip/216
-- Called sip/116
-- SIP/127-000033c1 connected line has changed. Saving it until answer for DAHDI/11-1
-- SIP/127-000033c1 is ringing
-- SIP/116-000033c3 is ringing
-- SIP/555-000033be is ringing
-- SIP/114-000033bf is ringing
-- SIP/114-000033bf is ringing
-- SIP/132-000033c0 is ringing
-- SIP/132-000033c0 is ringing
-- SIP/132-000033c0 is ringing
-- SIP/216-000033c2 is ringing
-- SIP/216-000033c2 is ringing
-- SIP/216-000033c2 is ringing
== Spawn extension (context_aup_income_513107, s, 3) exited non-zero on 'DAHDI/11-1'
-- Hanging up on 'DAHDI/11-1'
-- Hungup 'DAHDI/11-1'
Подскажите пожалуйста почему вызов уходит на второй круг ?
При этом при первом круге нормально отрабатывает callerid и на принимающих аппаратах видно нормальный номер, а при втором круге видно только цифру "8".

Re: Входящий вызов не hungup'пится

Добавлено: 11 мар 2014, 11:41
ded
Диал план приведён возможно неполный.
Судя по Dial("DAHDI/11-1" - у вас аналоговые линии. На стороне оператора сделана псевдо-многоканальность: переход входящего по BUSY на другую линию (серийное искание).
Так вот на первой настроен Caller ID, а на другой - нет, поэтому первый раз вызов идёт корректно с CALLERID(num), а после перехода - в результате выполнения Set(CALLERID(num)=8${CALLERID(num)}) остаётся только 8.

Re: Входящий вызов не hungup'пится

Добавлено: 11 мар 2014, 11:42
awsswa
уходит на второй круг потому что вы показали не весь кусок - кто вызывает [context_aup_income_513107] повторно

Re: Входящий вызов не hungup'пится

Добавлено: 11 мар 2014, 11:45
Samael28
Станция на другой стороне не понимает Вашего отбоя. Аналог, как я понимаю. Попробуйте перед Hangup дать Answer, чтобы сбрасывать уже отвеченный канал.

Re: Входящий вызов не hungup'пится

Добавлено: 11 мар 2014, 20:39
alexborodach
Вы все правы, это аналоговые линии заведенные в 24-портовую pci-e плату.
Специально дождался ночи, чтобы логи были чистыми. Проверил другие номера - при входящих звонках ситуация такая же. И звонок ходит по кругу не 2, а 3 раза.
ded писал(а):Диал план приведён возможно неполный.
Судя по Dial("DAHDI/11-1" - у вас аналоговые линии. На стороне оператора сделана псевдо-многоканальность: переход входящего по BUSY на другую линию (серийное искание).
Так вот на первой настроен Caller ID, а на другой - нет, поэтому первый раз вызов идёт корректно с CALLERID(num), а после перехода - в результате выполнения Set(CALLERID(num)=8${CALLERID(num)}) остаётся только 8.
Так как у меня 24 входящие линии сомневаюсь, что мой оператор такой щедрый. ;)
awsswa писал(а):уходит на второй круг потому что вы показали не весь кусок - кто вызывает [context_aup_income_513107] повторно
единственное упоминание контекста это в chan_dahdi.conf:
...
[512646]
callerid = in-512646
context=context_aup_income_512646
dahdichan = 10

[513107]
context=context_aup_income_513107
dahdichan = 11

[515607]
callerid = in-515607
context=context_aup_income_515607
dahdichan = 12
...

ну и в extensions.conf
Samael28 писал(а):Станция на другой стороне не понимает Вашего отбоя. Аналог, как я понимаю. Попробуйте перед Hangup дать Answer, чтобы сбрасывать уже отвеченный канал.
Такая конструкция не срабатывает, всё равно уходит на второй и далее круг.
PRIME_BBCODE_SPOILER_SHOW PRIME_BBCODE_SPOILER:
-- Starting simple switch on 'DAHDI/11-1'
-- Executing [s@context_aup_income_513107:1] Set("DAHDI/11-1", "CALLERID(num)=8xxxxxxxxxx") in new stack
-- Executing [s@context_aup_income_513107:2] Dial("DAHDI/11-1", "sip/555&sip/114&sip/132&sip/127&sip/216,4,t") in new stack
== Using SIP RTP TOS bits 184
== Using SIP RTP CoS mark 5
== Using SIP RTP TOS bits 184
== Using SIP RTP CoS mark 5
== Using SIP RTP TOS bits 184
== Using SIP RTP CoS mark 5
== Using SIP RTP TOS bits 184
== Using SIP RTP CoS mark 5
== Using SIP RTP TOS bits 184
== Using SIP RTP CoS mark 5
-- Called sip/555
-- Called sip/114
-- Called sip/132
-- Called sip/127
-- Called sip/216
-- SIP/127-00003af5 connected line has changed. Saving it until answer for DAHDI/11-1
-- SIP/127-00003af5 is ringing
-- SIP/114-00003af3 is ringing
-- SIP/555-00003af2 is ringing
-- SIP/132-00003af4 is ringing
-- SIP/216-00003af6 is ringing
-- Nobody picked up in 4000 ms
-- Executing [s@context_aup_income_513107:3] Dial("DAHDI/11-1", "sip/555&sip/114&sip/132&sip/127&sip/216&sip/116,10,t") in new stack
== Using SIP RTP TOS bits 184
== Using SIP RTP CoS mark 5
== Using SIP RTP TOS bits 184
== Using SIP RTP CoS mark 5
== Using SIP RTP TOS bits 184
== Using SIP RTP CoS mark 5
== Using SIP RTP TOS bits 184
== Using SIP RTP CoS mark 5
== Using SIP RTP TOS bits 184
== Using SIP RTP CoS mark 5
== Using SIP RTP TOS bits 184
== Using SIP RTP CoS mark 5
-- Called sip/555
-- Called sip/114
-- Called sip/132
-- Called sip/127
-- Called sip/216
-- Called sip/116
-- SIP/127-00003afa connected line has changed. Saving it until answer for DAHDI/11-1
-- SIP/127-00003afa is ringing
-- SIP/116-00003afc is ringing
-- SIP/555-00003af7 is ringing
-- SIP/555-00003af7 is ringing
-- SIP/216-00003afb is ringing
-- SIP/216-00003afb is ringing
-- SIP/216-00003afb is ringing
-- SIP/132-00003af9 is ringing
-- SIP/132-00003af9 is ringing
-- SIP/132-00003af9 is ringing
-- Nobody picked up in 10000 ms
-- Executing [s@context_aup_income_513107:4] Answer("DAHDI/11-1", "") in new stack
-- Executing [s@context_aup_income_513107:5] Hangup("DAHDI/11-1", "") in new stack
== Spawn extension (context_aup_income_513107, s, 5) exited non-zero on 'DAHDI/11-1'
-- Hanging up on 'DAHDI/11-1'
-- Hungup 'DAHDI/11-1'
-- Starting simple switch on 'DAHDI/11-1'
-- Executing [s@context_aup_income_513107:1] Set("DAHDI/11-1", "CALLERID(num)=8") in new stack
-- Executing [s@context_aup_income_513107:2] Dial("DAHDI/11-1", "sip/555&sip/114&sip/132&sip/127&sip/216,4,t") in new stack
...

Re: Входящий вызов не hungup'пится

Добавлено: 11 мар 2014, 21:38
ded
Согласно вашему диалплану
[context_aup_income_513107]
exten => s,1,Set(CALLERID(num)=8${CALLERID(num)})
exten => s,n,Dial(sip/555&sip/114&sip/132&sip/127&sip/216,4,t)
exten => s,n,Dial(sip/555&sip/114&sip/132&sip/127&sip/216&sip/116,30,t)
exten => s,n,Hangup
и вашему логу - всё выполняется:
-- Executing [s@context_aup_income_513107:4] Hangup("DAHDI/11-1", "") in new stack
== Spawn extension (context_aup_income_513107, s, 4) exited non-zero on 'DAHDI/11-1'
-- Hanging up on 'DAHDI/11-1'
-- Hungup 'DAHDI/11-1'

то есть 11-й канал (FXO порт) положил трубку. Почему снова идёт вызов - спрашивайте оператора связи. Возможно, индикация на портах FXO карты некорректная. Городская станция не понимает Hungup?

Re: Входящий вызов не hungup'пится

Добавлено: 11 мар 2014, 21:40
Vlad1983
[context_aup_income_513107]
exten => s,1,Set(CALLERID(num)=8${CALLERID(num)})
exten => s,n,Dial(sip/555&sip/114&sip/132&sip/127&sip/216,4,t)
exten => s,n,Dial(sip/555&sip/114&sip/132&sip/127&sip/216&sip/116,30,t)
exten => s,n,Answer(1)
exten => s,n,Hangup

Re: Входящий вызов не hungup'пится

Добавлено: 12 мар 2014, 05:54
alexborodach
Vlad1983 писал(а):[context_aup_income_513107]
...
exten => s,n,Answer(1)
...
Такая конструкция работает. Спасибо.

P.S. Скоро придет аппаратный шлюз от eltex с fxo-портами - поставлю проверю как он себя ведет. Отпишусь.

Re: Входящий вызов не hungup'пится

Добавлено: 12 мар 2014, 08:08
Vlad1983
скорей всего точно так же будет себя вести любое устройство с FXO
невозможно отбить звонок на аналоговой линии без "замыкания шлейфа" (переполюсовкой может быть тоже возможно. даже если будет работать, то сильно зависит от операторской АТС)
причем должна пройти определенная выдержка

при
exten => s,n,Answer
exten => s,n,Hangup
т.е. без задержки не распознается на АТС

exten => s,n,Answer(1) - приостановление дальнейшей обработки диалплана на 1 сек. после ответа