* между двумя Nateks
звонит лишний раз
Откуда: Moscow
Сообщений: 33
|
* между двумя Nateks
Есть два шлюза Nateks подключенных к АТС и по * прикрепленному к ним
Для теста звоним из Мск в КЗ (чтобы не просить местных ребят выполнять тестовые звонки на 666), затем звонок по Dial передается в Мск на группу абонентов АТС (607). На шлюзах по 4 линии. В группе 607 3 линии.
Проблема в том что если звонить из КЗ в Мск - помимо основного вызова приходит затем и "пустой" вызов - при поднятии трубки слышен сигнал "занято" или несколько секунд звонит впустую.
MSK:
[nateks]
exten => s,1(start),NoOp()
exten => s,n,Playback(tt-monkeys)
exten => s,n,Hangup
exten => _1XXX,1,NoOp(MOSCOW)
exten => _1XXX,n,Wait(1)
exten => _1XXX,n,Dial(SIP/${EXTEN:1}@nateks-msk)
exten => _1XX,1,NoOp(MOSCOW)
exten => _1XX,n,Wait(1)
exten => _1XX,n,Dial(SIP/${EXTEN}@nateks-msk)
;MOSCOW SUPPORT
exten => 1001,1,Answer()
exten => 1001,n,Wait(1)
exten => 1001,n,Dial(SIP/602@nateks-msk)
exten => 001,1,Dial(SIP/602@nateks-msk)
exten => 001,n,Wait(1)
exten => 001,n,Dial(SIP/602@nateks-msk)
exten => _2XXX,1,NoOp(KAZAKSTAN)
exten => _2XXX,n,Wait(1)
exten => _2XXX,n,Dial(IAX2/iax-kz/${EXTEN:1},8)
exten => 666,1,Wait(1)
exten => 666,n,Dial(IAX2/iax-kz/666,8)
exten => h,1,Hangup(0)
exten => i,1,Playback(beep&beep&beep)
KZ:
[nateks]
exten => s,1(start),NoOp()
exten => s,n,Playback(beep&beep&beep)
exten => s,n,Hangup
;to MOSCOW
exten => _1XXX,1,NoOp(MOSCOW)
exten => _1XXX,n,Wait(1)
exten => _1XXX,n,Dial(IAX2/iax-msk/${EXTEN:1},8)
;inner calls
exten => _1XX,1,NoOp(KZ-LOCAL)
exten => _1XX,n,Wait(1)
exten => _1XX,n,Dial(SIP/${EXTEN}@nateks-kz)
exten => _2XXX,1,NoOp(KZ-LOCAL)
exten => _2XXX,n,Wait(1)
exten => _2XXX,n,Dial(SIP/${EXTEN:1}@nateks-kz)
exten => 666,1,Wait(1)
exten => 666,2,Dial(SIP/607@nateks-kz)
exten => h,1,Hangup(0)
exten => i,1,Playback(beep&beep&beep)
exten => i,n,Hangup(1)
Logs:
на KZ:
officekz*CLI>
-- Accepting UNAUTHENTICATED call from 172.1.0.1:
> requested format = gsm,
> requested prefs = (gsm),
> actual format = gsm,
> host prefs = (gsm),
> priority = mine
-- Executing [666@nateks:1] Dial("IAX2/iax-msk-2638", "SIP/607@nateks-kz") in new stack
== Using SIP RTP CoS mark 5
-- Called 607@nateks-kz
-- SIP/nateks-kz-093d2428 answered IAX2/iax-msk-2638
== Using SIP RTP CoS mark 5
-- Executing [1001@nateks:1] NoOp("SIP/nateks-kz-093bf8f0", "MOSCOW") in new stack
-- Executing [1001@nateks:2] Dial("SIP/nateks-kz-093bf8f0", "IAX2/iax-msk/001,30,r") in new stack
-- Called iax-msk/001
-- Call accepted by 172.1.0.1 (format gsm)
-- Format for call is gsm
-- IAX2/iax-msk-16384 answered SIP/nateks-kz-093bf8f0
[Jul 20 17:27:02] WARNING[12815]: rtp.c:1581 ast_rtp_read: RTP Read too short
[Jul 20 17:27:02] WARNING[12815]: rtp.c:1581 ast_rtp_read: RTP Read too short
== Using SIP RTP CoS mark 5
-- Executing [1001@nateks:1] NoOp("SIP/nateks-kz-09381b00", "MOSCOW") in new stack
-- Executing [1001@nateks:2] Dial("SIP/nateks-kz-09381b00", "IAX2/iax-msk/001,30,r") in new stack
-- Called iax-msk/001
-- Call accepted by 172.1.0.1 (format gsm)
-- Format for call is gsm
-- IAX2/iax-msk-16385 answered SIP/nateks-kz-09381b00
[Jul 20 17:27:06] WARNING[12822]: rtp.c:1581 ast_rtp_read: RTP Read too short
[Jul 20 17:27:06] WARNING[12822]: rtp.c:1581 ast_rtp_read: RTP Read too short
-- Executing [h@nateks:1] Hangup("SIP/nateks-kz-09381b00", "0") in new stack
== Spawn extension (nateks, h, 1) exited non-zero on 'SIP/nateks-kz-09381b00'
-- Hungup 'IAX2/iax-msk-16385'
== Spawn extension (nateks, 1001, 2) exited non-zero on 'SIP/nateks-kz-09381b00'
-- Executing [h@nateks:1] Hangup("IAX2/iax-msk-2638", "0") in new stack
== Spawn extension (nateks, h, 1) exited non-zero on 'IAX2/iax-msk-2638'
== Spawn extension (nateks, 666, 1) exited non-zero on 'IAX2/iax-msk-2638'
-- Hungup 'IAX2/iax-msk-2638'
-- Executing [h@nateks:1] Hangup("SIP/nateks-kz-093bf8f0", "0") in new stack
== Spawn extension (nateks, h, 1) exited non-zero on 'SIP/nateks-kz-093bf8f0'
-- Hungup 'IAX2/iax-msk-16384'
== Spawn extension (nateks, 1001, 2) exited non-zero on 'SIP/nateks-kz-093bf8f0'
officekz*CLI>
MSK:
office*CLI>
== Using SIP RTP CoS mark 5
-- Executing [666@nateks:1] Wait("SIP/nateks-msk-021bd9f8", "1") in new stack
-- Executing [666@nateks:2] Dial("SIP/nateks-msk-021bd9f8", "IAX2/iax-kz/666,8") in new stack
[2009-07-20 17:28:57.300] DEBUG[21514]: chan_iax2.c:3532 create_addr: prepending 2 to prefs
-- Called iax-kz/666
-- Call accepted by 172.1.0.2 (format gsm)
-- Format for call is gsm
-- IAX2/iax-kz-16384 answered SIP/nateks-msk-021bd9f8
-- Accepting UNAUTHENTICATED call from 172.1.0.2:
> requested format = gsm,
> requested prefs = (gsm),
> actual format = gsm,
> host prefs = (gsm),
> priority = mine
-- Executing [001@nateks:1] Dial("IAX2/iax-kz-2049", "SIP/602@nateks-msk") in new stack
== Using SIP RTP CoS mark 5
-- Called 602@nateks-msk
-- Accepting UNAUTHENTICATED call from 172.1.0.2:
> requested format = gsm,
> requested prefs = (gsm),
> actual format = gsm,
> host prefs = (gsm),
> priority = mine
-- Executing [001@nateks:1] Dial("IAX2/iax-kz-1014", "SIP/602@nateks-msk") in new stack
== Using SIP RTP CoS mark 5
-- Called 602@nateks-msk
-- SIP/nateks-msk-ac084ff8 answered IAX2/iax-kz-2049
[2009-07-20 17:29:08.806] WARNING[21523]: translate.c:168 framein: no samples for alawtolin
-- SIP/nateks-msk-ac0999d8 answered IAX2/iax-kz-1014
-- Executing [h@nateks:1] Hangup("IAX2/iax-kz-1014", "0") in new stack
== Spawn extension (nateks, h, 1) exited non-zero on 'IAX2/iax-kz-1014'
== Spawn extension (nateks, 001, 1) exited non-zero on 'IAX2/iax-kz-1014'
-- Hungup 'IAX2/iax-kz-1014'
-- Executing [h@nateks:1] Hangup("SIP/nateks-msk-021bd9f8", "0") in new stack
== Spawn extension (nateks, h, 1) exited non-zero on 'SIP/nateks-msk-021bd9f8'
-- Hungup 'IAX2/iax-kz-16384'
== Spawn extension (nateks, 666, 2) exited non-zero on 'SIP/nateks-msk-021bd9f8'
-- Executing [h@nateks:1] Hangup("IAX2/iax-kz-2049", "0") in new stack
== Spawn extension (nateks, h, 1) exited non-zero on 'IAX2/iax-kz-2049'
== Spawn extension (nateks, 001, 1) exited non-zero on 'IAX2/iax-kz-2049'
-- Hungup 'IAX2/iax-kz-2049'
|
Откуда: Moscow
Сообщений: 33
|
Re: * между двумя Nateks
как бы ограничить на * количество звонков одним? чтобы ждал пока не будет отбоя или чего-то еще, не запуская при этом второго звонка в шлюз?
|
Откуда: Москва
Сообщений: 3421
|
Re: * между двумя Nateks
В диалплан не вникал, времени нет, но на вопрос отвечу:
CLI:
snowflake*CLI> show function GROUP
GROUP GROUP_COUNT GROUP_LIST GROUP_MATCH_COUNT
|
Откуда: Moscow
Сообщений: 33
|
Re: * между двумя Nateks
спасибо, но это не совсем то.
линии сгруппированы на самом натекс-шлюзе, проблема в том что * посылает второй вызов.
не хотелось бы каждую линию регить отдельно :(
|
Откуда: Санкт-Петербург
Сообщений: 541
|
Re: * между двумя Nateks
если речь об ограничении числа одновременных вызовов - это именно оно.
см. Example 2 http://www.voip-info.org/wiki/view/Asterisk+func+group
|
Откуда: Moscow
Сообщений: 33
|
Re: * между двумя Nateks
уже читал ;) но это не то
проблема не в ограничении, а в том что появляется еще один вызов, непонятно откуда взявшийся :(
|
Откуда: Moscow
Сообщений: 33
|
Re: * между двумя Nateks
т.е. мне нужно выяснить причину такого сбоя, а не лечить симптомы :(
|
Откуда: Moscow
Сообщений: 33
|
Re: * между двумя Nateks
поставил на KZ временно чтобы хоть как-то решить проблему
exten => 1001,1,NoOp(MOSCOW)
exten => 1001,2,Set(GROUP()=hdgrp) ;Set Group
exten => 1001,3,GotoIf($[${GROUP_COUNT(hdgrp)} > 1]?103) ;Exceeded?
exten => 1001,4,Dial(IAX2/iax-msk/${EXTEN:1},8)
exten => 1001,103,SetVar(DIALSTATUS=CHANUNAVAIL) ;deny call
но это только ограничивает одним одновременным звоном на этот экстен. а в теории может пойти два вызова... в общем не очень понятно как решать, ведь если поставить "2" до будет идти "левый" :/
|
Откуда: Москва
Сообщений: 3421
|
Re: * между двумя Nateks
Вы хотите сказать, что шлюз может обработать и более звонков, и это нормально.
Ненормально то, что каждый звонок дублируется, т.е. как бы приходит по 2 раза?
Видимо, проблемы с сигнализацией. А если перед Dial поставить Answer? Нам же биллить наверное, не надо...
|
Откуда: Moscow
Сообщений: 33
|
Re: * между двумя Nateks
билить не надо :)
ансвер ставил... сейчас еще раз попробую везде проставить, после обеда отпишусь.
|
|