IP-Symcon з підтримкою VoIPSIP - стор. 11
Варіанти теми
Шукати в темі
Дуже дякую,
у вас є приклад сценарію?

Перше повідомлення, прочитайте та подивіться на приклади сценаріїв.
Зараз я тестую виклик Symcon і використовую частини першого повідомлення.
На жаль, схоже, Symcon не підніметься.
У повідомлення приходить тієї ж секунди:
Вхідні відхилено
Від'єднати
У консолі я бачу:
Вхідне та негайне відключення
Що ще мені слід розглянути?
Чи доводиться мені якось переходити на «худнути»?
На мобільному телефоні, що телефонує, після двох дзвінків з'являється повідомлення "Лінія зайнята".
// сценарій для вхідних дзвінків (сценарій обробки)
if ($ _IPS ['SENDER'] == "VoIP") // Ми хочемо обробляти лише вхідні дзвінки
if (VoIP_GetConnection ($ id_voip, $ _IPS ["CONNECTION"]) ["Direction"] == 1/* Outgoing * /) return;
>
print_r ("VoIP =". $ _IPS ["ПОДІЯ"]);
перемикач ($ _IPS ["ПОДІЯ"]) регістр "Вхідний":
IPS_LogMessage ("VoIP", "Вхідний");
перерву;
кейс "Підключити":
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", "Ідентифікатор з'єднання:". $ 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)