Привет всем!
Решение вопроса оплачивается, сумма обсуждается.
Опишу подробнее проблему:
Есть FreePBX 2.11.0.37
Есть Goip4, GoIPx4-G610, Firmware GS-4.01-56
Есть win service, который по AMI отправляет команды на отзвон клиентам такси (машина найдена, машина подана или свободных машин нет).
Почему то, почти каждый день в 23:00 начинают запаздывать отзвоны, т.е. поступают жалобы клиентов на то, что они уже едут в такси, либо уже добрались до места, а тут прилетает звонок что такси подано. Начал исследовать проблему, запустил tcpdump и вижу, команды Originate приходят, но Asterisk почему то не спешит отзванивать по ним, иногда запаздывания доходили и до 20 минут, приходилось просто перезапускать астериск. Т.е. создалось впечатление, что команды астериск собирает в очередь, но не спешит их выполнять.
Ради интереса, все ли нормально с goip4, мы сделали, одновременнно, четыре звонка из офиса и они установились, т.е. все каналы goip4 работают, это я наблюдал в веб консоли Status -> Summary.
А вот наблюдение в той же веб консоли Status -> Summary, в момент запаздывания показало, что астериск не нагружает все каналы goip4, хотя в trunk прописано Maximum Channels = 4, мало того для эксперимента я снимал это ограничение, типа безлимит, но ситуация не изменялась.
Еще один технический момент, из winservice конект к AMI только один, и все команды на отзвон идут через этот один конект, т.к. команды нумеруются "ActionID: 20438433_117#", то проблем с этим не вижу, хотя я не могу утверждать, но и для каждой команды открывать новый конект, тоже выгляди странно.
Готов ответить на все вопросы, если у когото есть увереность в решении этой проблемы, давайте согласуем сумму и оплату.
Покажу команду которая прилетает по AMI:
Action: Originate
ActionID: 20438433_117#
CallerId: 14300
Channel: Local/NOMERTELEPHONA@outbound-allroutes
Context: taxi
Exten: assigned
Priority: 1
Async: false
Timeout: 60000
Variable: model=dacia,color=red,d1=4,d2=2,d3=4
Теперь extensions_custom.conf (этот файл я руками наполнил, т.е. не через интерфейс FreePBX):
[taxi]
exten => carnotfound,1,Answer
same => n,Background(beep)
same => n,Wait(1)
same => n,Background(taxi/car-not-found)
same => n,Background(taxi/thank-for-call)
same => n,Wait(1)
same => n,Background(beep)
same => n,Hangup
exten => assigned,1,Answer
same => n,Background(beep)
same => n,Wait(1)
same => n,Background(taxi/hello)
same => n,Background(taxi/models/${model})
same => n,Background(taxi/colors/${color})
same => n,Background(taxi/digits/${d1})
same => n,Background(taxi/digits/${d2})
same => n,Background(taxi/digits/${d3})
same => n,Background(taxi/ten-min)
same => n,Wait(1)
same => n,Background(beep)
same => n,Hangup
exten => waiting,1,Answer
same => n,Background(beep)
same => n,Wait(1)
same => n,Background(taxi/waiting)
same => n,Background(taxi/models/${model})
same => n,Background(taxi/colors/${color})
same => n,Background(taxi/digits/${d1})
same => n,Background(taxi/digits/${d2})
same => n,Background(taxi/digits/${d3})
same => n,Background(taxi/thank)
same => n,Wait(1)
same => n,Background(beep)
same => n,Hangup
Если информ. не достаточно пишите добавлю.