Возникла следующая задача. Допустим звоним при помощи AMI на внешний номер..И нужно узнать в программе, была ли положена трубка, т.е. если на том конце сбросили, или вызывающий прекратил звонок, надо это как то отловить. Я знаю что есть Event'ы но какие к чему относятся...Тем более у них нет ActionID. Кто сталкивался с такой проблемой, как ее можно решить?
Мне вот что интересно:
1)Как узнать что событие Hangup пришло в ответ на мои действия? если через астериск в данный момент звонят другие люди и астериск соответственно выводит и другие события. По Uniqueid ? Но как я пойму что это мой Uniqueid?
2)Астериск генерирует много событий и я в своей программе получаю их через сокетное соединение - в байтах, допустим буфер по 1024 байта, и понятно, что в первый раз в буфер попадет одна часть лога, в другой другая, и ответ будет разбит на разные куски. Как вы с этим работаете? как сопоставляете и анализируете события?