Почему динамическое реальное время не рекомендуется в соответствии со звездочкой?
В extconfig.conf они упоминали, что
"However, note that using dynamic realtime extensions is not recommended anymore as a best practice; instead, you should consider writing a static dialplan with proper data abstraction via a tool like func_odbc."
1) Почему Asterisk не рекомендует динамические расширения в реальном времени? 2) Как сделать статический диалплан с абстракцией данных с помощью инструмента liek func_odbc?
Мое требование состоит в том, чтобы появилось больше добавочных номеров (в данном случае номер мобильного телефона), как я могу динамически добавить их в sip.conf и зарегистрировать на SIP-сервере
1 ответ
Есть некоторые проблемы с динамическим в реальном времени
Самым важным вопросом является диалплан.
Когда / если вы используете EXACT dialplan, как полное совпадение номеров - все работает нормально. Но когда вы используете шаблон, он ищет шаблон в контексте. Для этого он запрашивает все записи в этом контексте из БД КАЖДЫЙ раз, когда вы получаете доступ к диалплану. Это действительно плохо, но нелегкий способ это исправить. Например, у вас есть диалплан из 10 линий для шаблона _011. и вводить шаблоны / номера в одну и ту же схему набора номеров, общее число линий 1000. Вы звоните 011123456788, он запрашивает строку приоритета 1 (проверка db до 1000 строк), после этого приоритета 2(проверка db do 1000 строк). Таким образом, вы получите 10x1000 = 10000 дБ строк для КАЖДОГО нового вызова.
Если вам нужна динамическая схема набора номеров с hi-load, используйте хранилище конфигурации db (для изменения плана набора, например, каждые 10 минут перезагружайте его) и проверьте в добавочном / набираемом плане функции с использованием func_odbc. Таким образом, вы имеете гораздо больше контроля над SQL-запросом. Конечно, это требует от вас понимания mysql и умения строить запросы, но нет другого пути для любого динамического pbx с более чем 10-20 вызовами.
sippeers в реальном времени это другое дело. У него есть проблемы с обновлением базы данных с включенным обновлением одноранговых узлов, или с отсутствием обновления информации об одноранговых узлах, если включен кэш. Вы только что жили с этим.