Тема: IP-Symcon с поддръжка на VoIP/SIP

Опции за темата
Търсене на тема

Много благодаря,
имаш ли примерен скрипт?

поддръжка

Първа публикация, прочетете и разгледайте примерните скриптове.

В момента тествам обаждането на Symcon и използвам части от първата публикация.
За съжаление, изглежда, че Symcon няма да се включи.
В съобщенията идва в същата секунда:
Входящият отказан
Прекъснете връзката

В конзолата виждам:
Входящо и незабавно изключване

Какво друго трябва да обмисля?
Трябва ли да премина към някакво „отслабване“?
На повикващия мобилен телефон след две повиквания се появява съобщението „Линията е заета“.

// скрипт за входящи повиквания (скрипт за обработка)
if ($ _IPS ['SENDER'] == "VoIP") // Искаме само да обработваме входящи повиквания
if (VoIP_GetConnection ($ id_voip, $ _IPS ["CONNECTION"]) ["Direction"] == 1/* Изходящи * /) return;
>

print_r ("VoIP =". $ _IPS ["СЪБИТИЕ"]);

превключвател ($ _IPS ["СЪБИТИЕ")) случай "Входящ":
IPS_LogMessage ("VoIP", "Incoming");
почивка;

калъф "Свързване":
IPS_LogMessage ("VoIP", "Connect");
почивка;

случай "Прекъсване":
IPS_LogMessage ("VoIP", "Връзката беше прекратена");
почивка;

по подразбиране:
IPS_LogMessage („VoIP“, „Задействано е неизвестно събитие“);
почивка;
>
>

Добавка:
Промених само текстовете за отделните събития и сега обаждането се приема.
Това е някак странно.

Приложение2:
Сега DTMF тоновете също работят.
Сякаш системата първо се научава.

Променено от нули (16.09.19 в 12:14)

Имам проблем с обработката на обаждането. За целите на теста скриптът ми изглежда така:

$ id = VoIP_Connect (38758, "xxxxxxx");

за ($ i = 0; $ i 5; $ i ++) IPS_Sleep (1000);
$ c = VoIP_GetConnection (38758, $ id);
IPS_LogMessage ("VoIP тест", "ConnectionID е:". $ Id);
print_r (VoIP_GetConnection (38758, $ id));
if ($ c ['Connected']) IPS_Sleep (1000);
IPS_LogMessage ("VoIP тест", "Свързан");
IPS_LogMessage ("VoIP тест", "Път на вълната:". IPS_GetKernelDir (). "/Media/willkommen.wav");
VoIP_PlayWave (38758, $ id, IPS_GetKernelDir (). "/Media/willkommen.wav");
връщане;
>
>

Екземплярът VOIP има номер на обект 38758 и е конфигуриран на Fritzbox. От една страна, странно е, че ако екземпляр VOIP не е бил активиран, все още може да се осъществи повикване. Но това е само между другото.

Когато използвам скрипта, получавам обаждане. Отговорете и нищо няма да играе. Няколко пъти се забърках със Srcrip, за да открия проблема. Очевидно заявката If не отива по-нататък. Въпреки вдигнатия телефон, масивът изглежда така:

Свойствата Connected и Disconnect изобщо не се използват. Следователно изявлението If не отива по-нататък. Къде е грешката?
Допълнение: Току-що увеличих броя на контурите и сега изглежда работи. Продължавам да тествам отново.

Друг въпрос:
Скриптът за обработка очевидно трябва да обработва само обратната връзка. Следователно от примера в инструкциите трябва да се направи препратка и към екземпляра на VOIP?

Тъй като това липсва в инструкциите. Първо търсиш „вълк“. Може би би било полезно за други потребители да добавят това. Също така би било полезно да се опише подробно как скриптовете и модулите трябва да бъдат свързани помежду си.

Последно редактирано от Ian; 17.09.19 в 16:37)