Всем привет! Использую Asterisk+FreePBX. Вызовы генерирую через команду AMI Action: Originate Channel: Local/60000005@from-internal Context: from-internal Exten: 7XXXXXXXXXX Priority: 1 Callerid: 7YYYYYYYYYY Timeout: 30000
60000005 - группа вызовов, в которой указаны номера как внутренние АТС, так и внешние мобильные. Вызов идет по всем номерам, здесь все четко. Проблема в следующем: при вызове указанный(одинаковый) CallerID высвечивается на всех устройствах, участвующих в разговоре - как на софтфоне, так и на мобильных. Т.е., если в указанном примере указать Callerid:7XXXXXXXXXX, то получается, что абонент звонит сам себе.
Вопрос: можно каким-то образом сделать "перекрестный" CallerID, т.е. чтобы абоненты видели номера друг друга? Каким образом их надо указать при формировании вызова, если параметр CallerID указывается единожды?
Можно. Делается магическим образом
AMI Action:
Originate Channel: Local/60000005:7XXXXXXXXXX@out1
Context: out2
Exten: 7XXXXXXXXXX:60000005
Priority: 1
Timeout: 30000
в extensions_custom.conf
[out2]
include => out1
[out1]
exten => _X.,1,Set(CALLERID(num)=${CUT(EXTEN,:,2)})
;xfer не будет играть номер недоступен
exten => _X.,2,Goto(from-internal-xfer,${CUT(EXTEN,:,1)},1)
Задан: 2015-08-13 18:14:13 +0400
Просмотрен: 2,127 раз
Обновлен: Aug 13 '15
Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании
Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией
GNU GPL.
Если абонент с номером 77777 позвонит на вашу группу вручную , то каким Вы ожидаете увидеть CID ?
zzuz ( 2015-08-13 19:35:42 +0400 )редактироватьУ абонентов группы высветится этот короткий номер(77777), разве могут быть сомнения?
Spawn ( 2015-08-14 11:28:40 +0400 )редактироватьmeral, спасибо!!! А есть возможность каким-то образом передать не номер группы, а номер телефона(из группы), который непосредственно ответил на вызов?
Spawn ( 2015-08-14 13:39:14 +0400 )редактироватьВсё зависит от того , как Вы вызываете эту группу. Но это уже другой вопрос .
zzuz ( 2015-08-14 14:32:39 +0400 )редактироватьzzuz, использую команду Originate, пример приведен в 1 сообщении
Spawn ( 2015-08-14 15:51:05 +0400 )редактироватьВы вызываете Local/60000005@from-internal . Что там дальше то? Группа , очередь, удаленные агенты через FollowMe ?
zzuz ( 2015-08-14 16:49:39 +0400 )редактироватьТам просто группа
Spawn ( 2015-08-14 17:27:34 +0400 )редактироватьТак и чего? Вы хотите после ответа на вызов изменить CID ?
zzuz ( 2015-08-15 00:19:59 +0400 )редактироватьДавайте рассмотрим ситуация по порядку. Есть группа вызова(60000005), содержащая номера 7XXXXXXXXXX и 7YYYYYYYYYY. Есть внешний номер - 7ZZZZZZZZZZ. При прямом создании вызова у абонента 7ZZZZZZZZZZ высвечивается номер группы, т.е. 60000005, вне зависимости от того, кто из группы ответил 7XXXXXXXXXX или 7YYYYYYYYYY. Как сделать так, что бы у него(7ZZZZZZZZZZ) высвечивался 7XXXXXXXXXX , если из группы ответил именно 7XXXXXXXXXX ?
Spawn ( 2015-08-17 12:31:29 +0400 )редактироватьНеужели ни у кого нет никаких мыслей? Дополнение "магического" кода от meral использованием переменной ${DIALEDPEERNUMBER} ни к чему не привело, т.к. она пустая. Либо использовать не умею, либо использую не так, как надо. И очень смущает информация из документации, что данная переменная не работает, начиная с 1.4, а что пришло на ее замену найти не удалось.
Spawn ( 2015-08-18 16:42:43 +0400 )редактироватьв вашей схеме используется команда Dial(SIP/1&SIP/2&SIP/3) . Даже если добавить нужные аргументы команде Dial все равно не получите нужного результата. В этом случае поможет приложение Queue . Дерзайте.
zzuz ( 2015-08-18 17:08:27 +0400 )редактироватьzzuz, т.е. получается, что от групп вызова надо отказываться и переходить на очереди?
Spawn ( 2015-08-19 10:09:55 +0400 )редактироватьЕсли реализовывать вашу цель , то да.
zzuz ( 2015-08-19 10:36:29 +0400 )редактироватьМозг, конечно, вынес, но сделал то, что нужно через Dial
Spawn ( 2015-08-21 18:44:01 +0400 )редактировать