VIDEOCHAT  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

Avaya IPO sip Elastix Анонимные звонки

Обо всем касательно FreePBX, MetPBX, TrixBox, Elastix, AstPBX и всех других дистрибутивов

Модераторы: april22, Zavr2008

ercopav
Сообщения: 11
Зарегистрирован: 20 мар 2015, 11:08

Avaya IPO sip Elastix Анонимные звонки

Сообщение ercopav »

Elastix соединен с Avaya IPO Sip-транком (все находится в одной локальной сети):
PRIME_BBCODE_SPOILER_SHOW PRIME_BBCODE_SPOILER:

Код: Выделить всё

Trunk Name: AvayaTrunk
CID Options: Allow Any CID
PEER Details: 
context=from-internal
fromdomain=172.16.1.10
host=172.16.1.10
type=friend
insecure=port,invite
qualify=yes
dtmfmode=rfc2833
disallow=all
allow=alaw&ulaw
canreinvite=no
Исходящие вызовы в сторону Avaya:
PRIME_BBCODE_SPOILER_SHOW PRIME_BBCODE_SPOILER:
Изображение
Входящие вызовы не прописаны, так как насколько понимаю попадают в контекст from-internal и все работает.
Внутренние вызовы ходят туда и обратно нормально, но при поступлении внешнего вызова на Avaya и донаборе внутренней номерной емкости Elastix передается сообщение что вызов "Анонимный". По логам Avaya посылает следующее в сторону Elastix:
PRIME_BBCODE_SPOILER_SHOW PRIME_BBCODE_SPOILER:

Код: Выделить всё

From: "Anonymous" <sip:74951234567@172.16.1.10>;
tag=c22020d292dcc257
To: <sip:1302@172.16.1.19>
Вопрос в следующем: как обработать такой вызов? Может в другом контексте вызов будет обрабатываться нормально или необходимо переписать правило, чтобы Elastix отбрасывал "Anonymous" и обрабатывал sip:74951234567@172.16.1.10.
PRIME_BBCODE_SPOILER_SHOW PRIME_BBCODE_SPOILER:

Код: Выделить всё

== Using SIP RTP TOS bits 184
  == Using SIP RTP CoS mark 5
    -- Executing [1302@from-internal:1] Macro("SIP/AvayaTrunk-00000c2d", "exten-vm,novm,1302") in new stack
    -- Executing [s@macro-exten-vm:1] Macro("SIP/AvayaTrunk-00000c2d", "user-callerid,") in new stack
    -- Executing [s@macro-user-callerid:1] Set("SIP/AvayaTrunk-00000c2d", "AMPUSER=74951234567") in new stack
    -- Executing [s@macro-user-callerid:2] GotoIf("SIP/AvayaTrunk-00000c2d", "0?report") in new stack
    -- Executing [s@macro-user-callerid:3] ExecIf("SIP/AvayaTrunk-00000c2d", "1?Set(REALCALLERIDNUM=74951234567)") in new stack
    -- Executing [s@macro-user-callerid:4] Set("SIP/AvayaTrunk-00000c2d", "AMPUSER=") in new stack
    -- Executing [s@macro-user-callerid:5] Set("SIP/AvayaTrunk-00000c2d", "AMPUSERCIDNAME=") in new stack
    -- Executing [s@macro-user-callerid:6] GotoIf("SIP/AvayaTrunk-00000c2d", "1?report") in new stack
    -- Goto (macro-user-callerid,s,10)
    -- Executing [s@macro-user-callerid:10] GotoIf("SIP/AvayaTrunk-00000c2d", "0?continue") in new stack
    -- Executing [s@macro-user-callerid:11] Set("SIP/AvayaTrunk-00000c2d", "__TTL=64") in new stack
    -- Executing [s@macro-user-callerid:12] GotoIf("SIP/AvayaTrunk-00000c2d", "1?continue") in new stack
    -- Goto (macro-user-callerid,s,19)
    -- Executing [s@macro-user-callerid:19] Set("SIP/AvayaTrunk-00000c2d", "CALLERID(number)=74951234567") in new stack
    -- Executing [s@macro-user-callerid:20] Set("SIP/AvayaTrunk-00000c2d", "CALLERID(name)=Anonymous") in new stack
    -- Executing [s@macro-user-callerid:21] NoOp("SIP/AvayaTrunk-00000c2d", "Using CallerID "Anonymous" <74951234567>") in new stack
    -- Executing [s@macro-exten-vm:2] Set("SIP/AvayaTrunk-00000c2d", "RingGroupMethod=none") in new stack
    -- Executing [s@macro-exten-vm:3] Set("SIP/AvayaTrunk-00000c2d", "VMBOX=novm") in new stack
    -- Executing [s@macro-exten-vm:4] Set("SIP/AvayaTrunk-00000c2d", "__EXTTOCALL=1302") in new stack
    -- Executing [s@macro-exten-vm:5] Set("SIP/AvayaTrunk-00000c2d", "CFUEXT=") in new stack
    -- Executing [s@macro-exten-vm:6] Set("SIP/AvayaTrunk-00000c2d", "CFBEXT=") in new stack
    -- Executing [s@macro-exten-vm:7] Set("SIP/AvayaTrunk-00000c2d", "RT=""") in new stack
    -- Executing [s@macro-exten-vm:8] Macro("SIP/AvayaTrunk-00000c2d", "record-enable,1302,IN") in new stack
    -- Executing [s@macro-record-enable:1] GotoIf("SIP/AvayaTrunk-00000c2d", "1?check") in new stack
    -- Goto (macro-record-enable,s,4)
    -- Executing [s@macro-record-enable:4] ExecIf("SIP/AvayaTrunk-00000c2d", "0?MacroExit()") in new stack
    -- Executing [s@macro-record-enable:5] GotoIf("SIP/AvayaTrunk-00000c2d", "0?Group:OUT") in new stack
    -- Goto (macro-record-enable,s,15)
    -- Executing [s@macro-record-enable:15] GotoIf("SIP/AvayaTrunk-00000c2d", "1?IN") in new stack
    -- Goto (macro-record-enable,s,20)
    -- Executing [s@macro-record-enable:20] ExecIf("SIP/AvayaTrunk-00000c2d", "1?MacroExit()") in new stack
    -- Executing [s@macro-exten-vm:9] Macro("SIP/AvayaTrunk-00000c2d", "dial-one,"",tr,1302") in new stack
    -- Executing [s@macro-dial-one:1] Set("SIP/AvayaTrunk-00000c2d", "DEXTEN=1302") in new stack
    -- Executing [s@macro-dial-one:2] Set("SIP/AvayaTrunk-00000c2d", "DIALSTATUS_CW=") in new stack
    -- Executing [s@macro-dial-one:3] GosubIf("SIP/AvayaTrunk-00000c2d", "0?screen,1") in new stack
    -- Executing [s@macro-dial-one:4] GosubIf("SIP/AvayaTrunk-00000c2d", "0?cf,1") in new stack
    -- Executing [s@macro-dial-one:5] GotoIf("SIP/AvayaTrunk-00000c2d", "1?skip1") in new stack
    -- Goto (macro-dial-one,s,8)
    -- Executing [s@macro-dial-one:8] GotoIf("SIP/AvayaTrunk-00000c2d", "0?nodial") in new stack
    -- Executing [s@macro-dial-one:9] GotoIf("SIP/AvayaTrunk-00000c2d", "0?continue") in new stack
    -- Executing [s@macro-dial-one:10] Set("SIP/AvayaTrunk-00000c2d", "EXTHASCW=ENABLED") in new stack
    -- Executing [s@macro-dial-one:11] GotoIf("SIP/AvayaTrunk-00000c2d", "0?next1:cwinusebusy") in new stack
    -- Goto (macro-dial-one,s,23)
    -- Executing [s@macro-dial-one:23] GotoIf("SIP/AvayaTrunk-00000c2d", "1?next3:continue") in new stack
    -- Goto (macro-dial-one,s,24)
    -- Executing [s@macro-dial-one:24] ExecIf("SIP/AvayaTrunk-00000c2d", "0?Set(DIALSTATUS_CW=BUSY)") in new stack
    -- Executing [s@macro-dial-one:25] GotoIf("SIP/AvayaTrunk-00000c2d", "0?nodial") in new stack
    -- Executing [s@macro-dial-one:26] GosubIf("SIP/AvayaTrunk-00000c2d", "1?dstring,1:dlocal,1") in new stack
    -- Executing [dstring@macro-dial-one:1] Set("SIP/AvayaTrunk-00000c2d", "DSTRING=") in new stack
    -- Executing [dstring@macro-dial-one:2] Set("SIP/AvayaTrunk-00000c2d", "DEVICES=1302") in new stack
    -- Executing [dstring@macro-dial-one:3] ExecIf("SIP/AvayaTrunk-00000c2d", "0?Return()") in new stack
    -- Executing [dstring@macro-dial-one:4] ExecIf("SIP/AvayaTrunk-00000c2d", "0?Set(DEVICES=302)") in new stack
    -- Executing [dstring@macro-dial-one:5] Set("SIP/AvayaTrunk-00000c2d", "LOOPCNT=1") in new stack
    -- Executing [dstring@macro-dial-one:6] Set("SIP/AvayaTrunk-00000c2d", "ITER=1") in new stack
    -- Executing [dstring@macro-dial-one:7] Set("SIP/AvayaTrunk-00000c2d", "THISDIAL=SIP/1302") in new stack
    -- Executing [dstring@macro-dial-one:8] GosubIf("SIP/AvayaTrunk-00000c2d", "1?zap2dahdi,1") in new stack
    -- Executing [zap2dahdi@macro-dial-one:1] ExecIf("SIP/AvayaTrunk-00000c2d", "0?Return()") in new stack
    -- Executing [zap2dahdi@macro-dial-one:2] Set("SIP/AvayaTrunk-00000c2d", "NEWDIAL=") in new stack
    -- Executing [zap2dahdi@macro-dial-one:3] Set("SIP/AvayaTrunk-00000c2d", "LOOPCNT2=1") in new stack
    -- Executing [zap2dahdi@macro-dial-one:4] Set("SIP/AvayaTrunk-00000c2d", "ITER2=1") in new stack
    -- Executing [zap2dahdi@macro-dial-one:5] Set("SIP/AvayaTrunk-00000c2d", "THISPART2=SIP/1302") in new stack
    -- Executing [zap2dahdi@macro-dial-one:6] ExecIf("SIP/AvayaTrunk-00000c2d", "0?Set(THISPART2=DAHDI/1302)") in new stack
    -- Executing [zap2dahdi@macro-dial-one:7] Set("SIP/AvayaTrunk-00000c2d", "NEWDIAL=SIP/1302&") in new stack
    -- Executing [zap2dahdi@macro-dial-one:8] Set("SIP/AvayaTrunk-00000c2d", "ITER2=2") in new stack
    -- Executing [zap2dahdi@macro-dial-one:9] GotoIf("SIP/AvayaTrunk-00000c2d", "0?begin2") in new stack
    -- Executing [zap2dahdi@macro-dial-one:10] Set("SIP/AvayaTrunk-00000c2d", "THISDIAL=SIP/1302") in new stack
    -- Executing [zap2dahdi@macro-dial-one:11] Return("SIP/AvayaTrunk-00000c2d", "") in new stack
    -- Executing [dstring@macro-dial-one:9] Set("SIP/AvayaTrunk-00000c2d", "DSTRING=SIP/1302&") in new stack
    -- Executing [dstring@macro-dial-one:10] Set("SIP/AvayaTrunk-00000c2d", "ITER=2") in new stack
    -- Executing [dstring@macro-dial-one:11] GotoIf("SIP/AvayaTrunk-00000c2d", "0?begin") in new stack
    -- Executing [dstring@macro-dial-one:12] Set("SIP/AvayaTrunk-00000c2d", "DSTRING=SIP/1302") in new stack
    -- Executing [dstring@macro-dial-one:13] Return("SIP/AvayaTrunk-00000c2d", "") in new stack
    -- Executing [s@macro-dial-one:27] GotoIf("SIP/AvayaTrunk-00000c2d", "0?nodial") in new stack
    -- Executing [s@macro-dial-one:28] GotoIf("SIP/AvayaTrunk-00000c2d", "0?skiptrace") in new stack
    -- Executing [s@macro-dial-one:29] GosubIf("SIP/AvayaTrunk-00000c2d", "1?ctset,1:ctclear,1") in new stack
    -- Executing [ctset@macro-dial-one:1] Set("SIP/AvayaTrunk-00000c2d", "DB(CALLTRACE/1302)=74951234567") in new stack
    -- Executing [ctset@macro-dial-one:2] Return("SIP/AvayaTrunk-00000c2d", "") in new stack
    -- Executing [s@macro-dial-one:30] Set("SIP/AvayaTrunk-00000c2d", "D_OPTIONS=tr") in new stack
    -- Executing [s@macro-dial-one:31] ExecIf("SIP/AvayaTrunk-00000c2d", "0?SIPAddHeader(Alert-Info: )") in new stack
    -- Executing [s@macro-dial-one:32] ExecIf("SIP/AvayaTrunk-00000c2d", "0?SIPAddHeader()") in new stack
    -- Executing [s@macro-dial-one:33] ExecIf("SIP/AvayaTrunk-00000c2d", "0?Set(CHANNEL(musicclass)=)") in new stack
    -- Executing [s@macro-dial-one:34] GosubIf("SIP/AvayaTrunk-00000c2d", "0?qwait,1") in new stack
    -- Executing [s@macro-dial-one:35] Set("SIP/AvayaTrunk-00000c2d", "__CWIGNORE=") in new stack
    -- Executing [s@macro-dial-one:36] Set("SIP/AvayaTrunk-00000c2d", "__KEEPCID=TRUE") in new stack
    -- Executing [s@macro-dial-one:37] Dial("SIP/AvayaTrunk-00000c2d", "SIP/1302,"",tr") in new stack
  == Using SIP RTP TOS bits 184
  == Using SIP RTP CoS mark 5
    -- Called SIP/1302
    -- SIP/1302-00000c2e is ringing
  == Spawn extension (macro-dial-one, s, 37) exited non-zero on 'SIP/AvayaTrunk-00000c2d' in macro 'dial-one'
  == Spawn extension (macro-exten-vm, s, 9) exited non-zero on 'SIP/AvayaTrunk-00000c2d' in macro 'exten-vm'
  == Spawn extension (from-internal, 1302, 1) exited non-zero on 'SIP/AvayaTrunk-00000c2d'
    -- Executing [h@from-internal:1] Macro("SIP/AvayaTrunk-00000c2d", "hangupcall") in new stack
    -- Executing [s@macro-hangupcall:1] GotoIf("SIP/AvayaTrunk-00000c2d", "1?endmixmoncheck") in new stack
    -- Goto (macro-hangupcall,s,9)
    -- Executing [s@macro-hangupcall:9] NoOp("SIP/AvayaTrunk-00000c2d", "End of MIXMON check") in new stack
    -- Executing [s@macro-hangupcall:10] GotoIf("SIP/AvayaTrunk-00000c2d", "1?nomeetmemon") in new stack
    -- Goto (macro-hangupcall,s,28)
    -- Executing [s@macro-hangupcall:28] NoOp("SIP/AvayaTrunk-00000c2d", "End of MEETME check") in new stack
    -- Executing [s@macro-hangupcall:29] GotoIf("SIP/AvayaTrunk-00000c2d", "1?noautomon") in new stack
    -- Goto (macro-hangupcall,s,34)
    -- Executing [s@macro-hangupcall:34] NoOp("SIP/AvayaTrunk-00000c2d", "TOUCH_MONITOR_OUTPUT=") in new stack
    -- Executing [s@macro-hangupcall:35] GotoIf("SIP/AvayaTrunk-00000c2d", "1?noautomon2") in new stack
    -- Goto (macro-hangupcall,s,41)
    -- Executing [s@macro-hangupcall:41] NoOp("SIP/AvayaTrunk-00000c2d", "MONITOR_FILENAME=") in new stack
    -- Executing [s@macro-hangupcall:42] GotoIf("SIP/AvayaTrunk-00000c2d", "1?skiprg") in new stack
    -- Goto (macro-hangupcall,s,45)
    -- Executing [s@macro-hangupcall:45] GotoIf("SIP/AvayaTrunk-00000c2d", "1?skipblkvm") in new stack
    -- Goto (macro-hangupcall,s,48)
    -- Executing [s@macro-hangupcall:48] GotoIf("SIP/AvayaTrunk-00000c2d", "1?theend") in new stack
    -- Goto (macro-hangupcall,s,50)
    -- Executing [s@macro-hangupcall:50] AGI("SIP/AvayaTrunk-00000c2d", "hangup.agi") in new stack
    -- Launched AGI Script /var/lib/asterisk/agi-bin/hangup.agi
    -- <SIP/AvayaTrunk-00000c2d>AGI Script hangup.agi completed, returning 0
    -- Executing [s@macro-hangupcall:51] Hangup("SIP/AvayaTrunk-00000c2d", "") in new stack
  == Spawn extension (macro-hangupcall, s, 51) exited non-zero on 'SIP/AvayaTrunk-00000c2d' in macro 'hangupcall'
  == Spawn extension (from-internal, h, 1) exited non-zero on 'SIP/AvayaTrunk-00000c2d'
  == Spawn extension (macro-dialout-trunk, s, 19) exited non-zero on 'SIP/AvayaTrunk-00000c2b' in macro 'dialout-trunk'
  == Spawn extension (from-internal, 89154690311, 6) exited non-zero on 'SIP/AvayaTrunk-00000c2b'
    -- Executing [h@from-internal:1] Macro("SIP/AvayaTrunk-00000c2b", "hangupcall") in new stack
    -- Executing [s@macro-hangupcall:1] GotoIf("SIP/AvayaTrunk-00000c2b", "1?endmixmoncheck") in new stack
    -- Goto (macro-hangupcall,s,9)
    -- Executing [s@macro-hangupcall:9] NoOp("SIP/AvayaTrunk-00000c2b", "End of MIXMON check") in new stack
    -- Executing [s@macro-hangupcall:10] GotoIf("SIP/AvayaTrunk-00000c2b", "1?nomeetmemon") in new stack
    -- Goto (macro-hangupcall,s,28)
    -- Executing [s@macro-hangupcall:28] NoOp("SIP/AvayaTrunk-00000c2b", "End of MEETME check") in new stack
    -- Executing [s@macro-hangupcall:29] GotoIf("SIP/AvayaTrunk-00000c2b", "1?noautomon") in new stack
    -- Goto (macro-hangupcall,s,34)
    -- Executing [s@macro-hangupcall:34] NoOp("SIP/AvayaTrunk-00000c2b", "TOUCH_MONITOR_OUTPUT=") in new stack
    -- Executing [s@macro-hangupcall:35] GotoIf("SIP/AvayaTrunk-00000c2b", "1?noautomon2") in new stack
    -- Goto (macro-hangupcall,s,41)
    -- Executing [s@macro-hangupcall:41] NoOp("SIP/AvayaTrunk-00000c2b", "MONITOR_FILENAME=") in new stack
    -- Executing [s@macro-hangupcall:42] GotoIf("SIP/AvayaTrunk-00000c2b", "1?skiprg") in new stack
    -- Goto (macro-hangupcall,s,45)
    -- Executing [s@macro-hangupcall:45] GotoIf("SIP/AvayaTrunk-00000c2b", "1?skipblkvm") in new stack
    -- Goto (macro-hangupcall,s,48)
    -- Executing [s@macro-hangupcall:48] GotoIf("SIP/AvayaTrunk-00000c2b", "1?theend") in new stack
    -- Goto (macro-hangupcall,s,50)
    -- Executing [s@macro-hangupcall:50] AGI("SIP/AvayaTrunk-00000c2b", "hangup.agi") in new stack
    -- Launched AGI Script /var/lib/asterisk/agi-bin/hangup.agi
    -- <SIP/AvayaTrunk-00000c2b>AGI Script hangup.agi completed, returning 0
    -- Executing [s@macro-hangupcall:51] Hangup("SIP/AvayaTrunk-00000c2b", "") in new stack
  == Spawn extension (macro-hangupcall, s, 51) exited non-zero on 'SIP/AvayaTrunk-00000c2b' in macro 'hangupcall'
  == Spawn extension (from-internal, h, 1) exited non-zero on 'SIP/AvayaTrunk-00000c2b'
ded
Сообщения: 15625
Зарегистрирован: 26 авг 2010, 19:00

Re: Avaya IPO sip Elastix Анонимные звонки

Сообщение ded »

Формат "Anonymous" <sip:74951234567@172.16.1.10> это CallerID name + CallerID number.
Понятно, что при входящем из города нет никакого CallerID name. Что подставлять при этом в это поле? Вариантов два:

Код: Выделить всё

Set(CALLERID(name)=${CALLERID(num)})
или
Set(CALLERID(name)="")
Выбирайте.
ercopav
Сообщения: 11
Зарегистрирован: 20 мар 2015, 11:08

Re: Avaya IPO sip Elastix Анонимные звонки

Сообщение ercopav »

ded писал(а):Формат "Anonymous" <sip:74951234567@172.16.1.10> это CallerID name + CallerID number.
Ок понятно. Из логов видно:

Код: Выделить всё

-- Executing [s@macro-user-callerid:19] Set("SIP/AvayaTrunk-00000c2d", "CALLERID(number)=74951234567") in new stack
    -- Executing [s@macro-user-callerid:20] Set("SIP/AvayaTrunk-00000c2d", "CALLERID(name)=Anonymous") in new stack
То есть необходимо переменной CALLERID(name) присвоить значение CALLERID(number)=74951234567. Вот теперь вопрос где эту подстановку сделать? Или лучше задать условие "Если переменная CALLERID(name)=Anonymous, то CALLERID(name) присваиваем CALLERID(number)=74951234567 иначе ничего не делаем". Я так понимаю это нужно делать где описан контекст from-internal?
ercopav
Сообщения: 11
Зарегистрирован: 20 мар 2015, 11:08

Re: Avaya IPO sip Elastix Анонимные звонки

Сообщение ercopav »

То есть наклевывается такое: в файле extensions.conf находим контекст [from-internal] и после него ставим условие

Код: Выделить всё

Если переменная CALLERID(name) равна Anonymous, то переходим к второму шагу и присваиваем CALLERID(name) значение переменной CALLERID(num) иначе возвращаемся обратно в контекст from-internal.
exten => s,1,GotoIf($["${CALLERID(name)}" = "Anonymous"]?2:{Goto(from-internal,s,1)})
exten => s,2,Set(CALLERID(name)=${CALLERID(num)})
awsswa
Сообщения: 2390
Зарегистрирован: 09 июн 2012, 10:52
Откуда: Россия, Пермь skype: yarick_perm

Re: Avaya IPO sip Elastix Анонимные звонки

Сообщение awsswa »

а если на транке в сторону авайи выставить sendrpid=rpid что то меняется ?
платный суппорт по мере возможностей
Аватара пользователя
Zavr2008
Сообщения: 2211
Зарегистрирован: 27 янв 2011, 00:35
Контактная информация:

Re: Avaya IPO sip Elastix Анонимные звонки

Сообщение Zavr2008 »

ТС похоже более по Авае спец)

fromdomain зачем указан если транк без регистрации?

Также в консоли стоит освоить команду sip set debug on.
Советую выложить ПОЛНОЕ сообщение INVITE.
Российские E1 шлюзы Alvis. Модернизация УПАТС с E1,Подключение к ИС "Антифрод" E1 PRI/SS#7 УВР Телестор, Грифин и др..
ercopav
Сообщения: 11
Зарегистрирован: 20 мар 2015, 11:08

Re: Avaya IPO sip Elastix Анонимные звонки

Сообщение ercopav »

awsswa писал(а):а если на транке в сторону авайи выставить sendrpid=rpid что то меняется ?
Этот вариант пробовал не помогает.
Zavr2008 писал(а):Также в консоли стоит освоить команду sip set debug on.
Советую выложить ПОЛНОЕ сообщение INVITE.
Тут скорее всего нет смысла дебаг делать. Нужно поменять местами CALLERID(name) с {CALLERID(num) при звонке с Anonymous. Правильно ли написал условие и замену при этом:

Код: Выделить всё

exten => s,1,GotoIf($["${CALLERID(name)}" = "Anonymous"]?Set(CALLERID(name)=${CALLERID(num)}))
Так как с эти сталкиваюсь впервые. И еще куда этот кусок кода вставить. По логу в контекст macro-user-callerid можно. Там как раз идет обработка CallerID.
ded
Сообщения: 15625
Зарегистрирован: 26 авг 2010, 19:00

Re: Avaya IPO sip Elastix Анонимные звонки

Сообщение ded »

Макрос macro-user-callerid формируется системой в extensions_additional.conf, поэтому если туда даже и вставите что-то своё - до первого Apply из вэб интерфейса.

Строчку надо такую:
exten => s,n,ExecIf($["${CALLERID(name)}" = "Anonymous"]?Set(CALLERID(name)=${CALLERID(number)}))
и весь этот модифицированный макрос поместить в extensions_override_freepbx.conf
ercopav
Сообщения: 11
Зарегистрирован: 20 мар 2015, 11:08

Re: Avaya IPO sip Elastix Анонимные звонки

Сообщение ercopav »

Насколько понимаю необходимо сделать так:
PRIME_BBCODE_SPOILER_SHOW PRIME_BBCODE_SPOILER: Видоизмененный макрос macro-user-callerid из extensions_additional.conf

Код: Выделить всё

[macro-user-callerid]
include => macro-user-callerid-custom
###Добавленная строка
exten => s,n,ExecIf($["${CALLERID(name)}" = "Anonymous"]?Set(CALLERID(name)=${CALLERID(number)})) 
exten => s,1,Set(AMPUSER=${IF($["foo${AMPUSER}" = "foo"]?${CALLERID(number)}:${AMPUSER})})
exten => s,n,GotoIf($["${CHANNEL:0:5}" = "Local"]?report)
exten => s,n,ExecIf($["${REALCALLERIDNUM:1:2}" = ""]?Set(REALCALLERIDNUM=${CALLERID(number)}))
exten => s,n,Set(AMPUSER=${DB(DEVICE/${REALCALLERIDNUM}/user)})
exten => s,n,Set(AMPUSERCIDNAME=${DB(AMPUSER/${AMPUSER}/cidname)})
exten => s,n,GotoIf($["x${AMPUSERCIDNAME:1:2}" = "x"]?report)
exten => s,n,Set(AMPUSERCID=${IF($["${DB_EXISTS(AMPUSER/${AMPUSER}/cidnum)}" = "1"]?${DB_RESULT}:${AMPUSER})})
exten => s,n,Set(CALLERID(all)="${AMPUSERCIDNAME}" <${AMPUSERCID}>)
exten => s,n,ExecIf($["${DB(AMPUSER/${AMPUSER}/language)}" != ""]?Set(CHANNEL(language)=${DB(AMPUSER/${AMPUSER}/language)}))
exten => s,n(report),GotoIf($[ "${ARG1}" = "SKIPTTL" ]?continue)
exten => s,n(report2),Set(__TTL=${IF($["foo${TTL}" = "foo"]?64:$[ ${TTL} - 1 ])})
exten => s,n,GotoIf($[ ${TTL} > 0 ]?continue)
exten => s,n,Wait(${RINGTIMER})
exten => s,n,Answer
exten => s,n,Wait(2)
exten => s,n,Playback(im-sorry&an-error-has-occured&with&call-forwarding)
exten => s,n,Macro(hangupcall,)
exten => s,n,Congestion(20)
exten => s,n(continue),Set(CALLERID(number)=${CALLERID(number):0:40})
exten => s,n,Set(CALLERID(name)=${CALLERID(name):0:40})
exten => s,n,Noop(Using CallerID ${CALLERID(all)})
exten => h,1,Macro(hangupcall,)

; end of [macro-user-callerid]
Копируем в файл extensions_override_freepbx.conf или extensions_override_elastix.conf (пробовал и так и так). При этом должен формироваться новый файл extensions_additional.conf с видоизмененным макросом? Перезагружал. Ничего не получилось как шли звонки c "Anonymous" так и идут.
ded
Сообщения: 15625
Зарегистрирован: 26 авг 2010, 19:00

Re: Avaya IPO sip Elastix Анонимные звонки

Сообщение ded »

Не справились при помощи бесплатных советов?
Платный суппорт (это не я!) ждёт Вас!

Это, конечно, шедеврально!
###Добавленная строка
exten => s,n,ExecIf($["${CALLERID(name)}" = "Anonymous"]?Set(CALLERID(name)=${CALLERID(number)}))
exten => s,1,Set(AMPUSER=${IF($["foo${AMPUSER}" = "foo"]?${CALLERID(number)}:${AMPUSER})})
exten => s,n,GotoIf($["${CHANNEL:0:5}" = "Local"]?report)
последний шанс - бегом в библиотеку, читать Книгу о вкусной и здоровой пище. То есть о будущем телефонии, главку перед сном - про диал-план, с чем его едят, его синтаксис.
Ответить
© 2008 — 2024 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH