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)