Глобальная переменная и несколько звонков
Подскажите такой вопросик.
Если я создаю глобальную переменную в которую записываю CALLERID
exten=>s,n,Set(GLOBAL(CLIENT_NUMBER)=${CALLERID(num)})
она хранится на протяжении разговора а потом записывается в БД.
Если во время разговора приходит еще один звонок и выполняется этот же "екстеншен" старое знаечние переменной не затирается?
_________________
Пользователь неадекватен.
откройте CLI, сетните verbose 3, совершите два вызова - получите ответ
и почитать: Asterisk Dialplan Globals
особенно :
| Цитата: |
| Actually, Asterisk global variables are usually used not as variables but as constants. |
| Код: |
| она хранится на протяжении разговора а потом записывается в БД. |
Интересно, откуда вы это взяли?
И еще - не "пачкайте" память системы GLOBAL-переменными.
_________________
P4 3.0 + 1Gb CentOS 5.8 Aster 1.8.16
Не люблю gui-сборки: натуральный продукт вкуснее.
И еще: я ПРОФИ так как НЕ ЛЕНЮСЬ читать литературу.
| Wapo @ Сб Мар 14, 2015 10:23 писал(а): | ||
| Код: |
| она хранится на протяжении разговора а потом записывается в БД. |
Интересно, откуда вы это взяли?
Наверное я неправильно выразился, я не имел ввиду внутренние механизмы asteriska, просто у меня в диалплане значение в конце звонка записывается в БД.
_________________
Пользователь неадекватен.
Можно ли организовать очереди звонков с агентами, которые регистрируются с мобильных телефонов. Во всех доках только SIP, я так понимаю что это не реально, т.к невозможно будет отслеживать статус агента, или все таки реально?
_________________
Пользователь неадекватен.
| feofs писал(а): |
| Во всех доках только SIP |
Да не правда.
В кач-ве Agent может выступать и Local channel => Advanced Queues
| Цитата: |
| Using Local Channels The use of Local channels as queue members is a popular way of executing parts of the dialplan and performing checks prior to dialing the actual agent’s device. ... So, now we’ve passed our queue member to the context, and we can dial the device. However, because we’re using the Local channel as the queue member, the Queue() won’t necessarily know the state the call is in, especially when the Local channel is optimized out of the path (see https://wiki.asterisk.org/wiki/display/AST/Local+Channel+Modifiers for information about the /n modifier, which causes the Local channel to not be optimized out of the path). The queue will be monitoring the state of the Local channel, and not that of the device we really want to monitor. Luckily, we can give the Queue() the actual device to monitor and associate that with the Local channel, so that the Local channel’s state is always that of the device we’ll end up calling. |
_________________
Пользователь неадекватен.