Opensips — переменные и строки

#opensips

#opensips

Вопрос:

Дорогие,

Я использую Opensips 2.4

Как использовать mid_registrar_save(«$(rd {ip.resolve})») для обозначения переменной $(rd {ip.resolve}) вместо строки «$(rd {ip.resolve})»

Спасибо за вашу помощь.

Местоположение пользователя

Ответ №1:

Традиционно функции save() и mid_registrar_save() всегда получали статические параметры для параметра имени таблицы, поэтому ваша строка не расширяется — это не предназначено. Требуя статических строк, модули могут инициализировать свои внутренние структуры данных при запуске для каждого домена, таким образом, будучи готовыми немедленно заполнить его AOR и contacts.

Если требуется динамическое количество таблиц местоположений (доменов), то я не вижу решения проблемы. Однако, если количество таких таблиц в вашей системе ограничено, вы можете использовать оператор switch:

 switch ($(rd{ip.resolve})) {
case "location":
    mid_registrar_save("location");
    break;

case "location_1":
    mid_registrar_save("location_1");
    break;

...
}