День добрый.
Есть немолодой GSM-шлюз с 4мя симками для звонков на мобильные из офиса. Раньше бегало все прекрасно по логике звонка:
same => n,GotoIf($["${DEVICE_STATE(SIP/GSM01)}"="NOT_INUSE"]?call1)
same => n,GotoIf($["${DEVICE_STATE(SIP/GSM02)}"="NOT_INUSE"]?call2)
....
same => n(call1),Dial(SIP/GSM01/${EXTEN},50,Ww)
same => n,Hangup()
same => n(call2),Dial(SIP/GSM02/${EXTEN},50,Ww)
same => n,Hangup()
Но некоторое время назад пара портов в этом шлюзе перестали выдавать статус "ЗАНЯТО", как следствие получили затык на выходе, т.к. следующий исходящий звонок ломится в занятый порт с полной уверенностью, что тот свободен.
Вот сижу думаю, можно ли смастерить аналогичную конструкцию, опираясь на какую-нибудь другую переменную.