IP-Symcon s podporou VoIPSIP - strana 11
Možnosti témy
Vyhľadať tému
Veľká vďaka,
máš ukážkový skript?

Prvý príspevok, prečítajte si ukážky skriptov a pozrite si ich.
Momentálne testujem volanie na server Symcon a používam časti prvého príspevku.
Bohužiaľ to vyzerá, že Symcon sa nedožije.
V správach prichádza v rovnakom okamihu:
Prichádzajúce odmietnuté
Odpojiť
V konzole vidím:
Prichádzajúce a okamžité odpojenie
Čo iné by som mal zvážiť?
Či musím nejako prepnúť na „chudnutie“?
Na volajúcom mobilnom telefóne sa po dvoch hovoroch zobrazí správa „Linka obsadená“.
// skript pre prichádzajúce hovory (skript pre spracovanie)
if ($ _IPS ['SENDER'] == "VoIP") // Chceme spracovávať iba prichádzajúce hovory
if (VoIP_GetConnection ($ id_voip, $ _IPS ["CONNECTION"]) ["Direction"] == 1/* Odchádzajúci * /) návrat;
>
print_r ("VoIP =". $ _IPS ["AKCIA"]);
switch ($ _IPS ["EVENT"]) prípad "Prichádzajúce":
IPS_LogMessage ("VoIP", "prichádzajúce");
prestávka;
prípad "Pripojiť":
IPS_LogMessage ("VoIP", "Pripojiť");
prestávka;
prípad „Odpojiť“:
IPS_LogMessage ("VoIP", "Pripojenie bolo ukončené");
prestávka;
predvolené:
IPS_LogMessage ("VoIP", "bola spustená neznáma udalosť");
prestávka;
>
>
Doplnok:
Menil som iba texty k jednotlivým udalostiam a teraz je hovor prijatý.
Je to čudné.
Dodatok 2:
Teraz fungujú aj tóny DTMF.
Akoby sa systém najskôr naučil sám.
Zmenené nulami (16.09.19 o 12:14)
Mám problém uskutočniť hovor. Môj skript vyzerá na účely testovania takto:
$ id = VoIP_Connect (38758, "xxxxxxx");
pre ($ i = 0; $ i 5; $ i ++) IPS_Sleep (1000);
$ c = VoIP_GetConnection (38758, $ id);
IPS_LogMessage ("Test VoIP", "ConnectionID is:". $ Id);
print_r (VoIP_GetConnection (38758, $ id));
if ($ c ['Pripojené']) IPS_Sleep (1000);
IPS_LogMessage ("Test VoIP", "Pripojené");
IPS_LogMessage ("Test VoIP", "Vlnová cesta:". IPS_GetKernelDir (). "/Media/willkommen.wav");
VoIP_PlayWave (38758, $ id, IPS_GetKernelDir (). "/Media/willkommen.wav");
návrat;
>
>
Inštancia VOIP má číslo objektu 38758 a je nakonfigurovaná na Fritzbox. Je zvláštne, že na jednej strane, ak inštancia VOIP nebola nastavená ako aktívna, je možné uskutočniť hovor. Ale to je len tak mimochodom.
Keď použijem skript, zavolám mi. Odpovedzte na ňu a nič sa nebude hrať. Niekoľkokrát som sa pohral so Srcripom, aby som našiel problém. V dotaze If to zjavne ďalej nejde. Napriek tomu, že je telefón zdvihnutý, pole vyzerá takto:
Vlastnosti Pripojené a Odpojiť sa nepoužívajú vôbec. Preto vyhlásenie If nejde ďalej. Kde je chyba?
Dodatok: Práve som zvýšil počet slučiek a teraz sa zdá, že to funguje. Stále skúšam.
Iná otázka:
Skript na spracovanie by mal zjavne spracovávať iba spätnú väzbu. Z príkladu v pokynoch je preto potrebné odkázať aj na inštanciu VOIP?
Pretože to v pokynoch chýba. Najprv hľadáte „vlka“. Možno by bolo užitočné, keby to pridali ostatní používatelia. Bolo by tiež užitočné podrobne popísať, ako musia byť skripty a moduly navzájom prepojené.
Naposledy upravené Ianom; 17.09.19 @ 16:37)