#c# #winforms #asterisk #asteriskami
#c# #winforms #звездочка #звездочками
Вопрос:
Я создаю клиент Asterisk в C # WinForms, используя Asterisk.NET . Мой клиент прослушивает только один добавочный номер.Мы можем просматривать вызовы, отклонять или передавать и т. Д. На вызовы, поступающие на мои добавочные номера. Мне нужен исходный канал для передачи вызова, а исходный канал можно получить только из события набора номера. Недавно я заметил, что событие набора номера происходит каждый раз, когда какой-либо добавочный номер, подключенный к серверу, начинает набор номера. Я хочу отфильтровать его, только вызов, поступающий только на мой добавочный номер.
void manager_Dial(object sender, DialEvent e)
{
CallingInfo.src_channel = e.Channel;
}
e.dialString дает мне добавочный номер назначения; Но я не знаю, становится ли он нулевым в соответствии со статусом сервера. Более того, что произойдет, если ко мне поступят какие-то внешние вызовы, я не получу событие набора или исходный канал, тогда оно не может быть передано. Верно?
Ответ №1:
Вы не можете.
Звездочка не допускает такой функциональности.
Вы можете прочитать все и отфильтровать по вашему коду необходимое расширение. Вы можете написать deamon, который будет фильтровать на сервере и отправлять в ваше приложение только необходимый deamon.
Причина: asterisk — это pbx, все функции, отличные от pbx, ограничены.
Также вы можете отправить в dialplan UserEvent любое поле, которое вы хотите, перед набором номера и после ответа, только перехватывать UserEvent.