Почти все перекопал уже, в логах oktell номер определяется прекрасно, фактически он должен его передать в сип-клиент, но вместо него пережает номер, под которым зарегестрирован Oklett. Подскажите, что не так делаю...
ps То же самое настраивал на другом elastix на таком же модеме е1550, однако там такой проблемы нет. Настроил все один в один... Ниже приложил логи asterisk и oktell
Лог oktell
11:25:55:946 2744 SIP -- MakeCall -- target: '200', callerId: '+375291234567'
11:25:55:946 2744 TRUNK -- Make Call to 200, +375331234567.
11:25:55:946 2744 TRUNK -- Make Call to sip:200@10.0.0.1:5060
11:25:55:946 2744 TRUNK -- -----------> Begin calling...
11:25:55:953 2744 TRUNK -- -----------> Trunk require SDP Offer... session 041A6AB8/041A6AB8
Лог asterisk
-- Executing [200@from-internal:1] Macro("SIP/210-00000002", "exten-vm,novm,200") in new stack
-- Executing [s@macro-exten-vm:1] Macro("SIP/210-00000002", "user-callerid,") in new stack
-- Executing [s@macro-user-callerid:1] Set("SIP/210-00000002", "AMPUSER=210") in new stack
-- Executing [s@macro-user-callerid:2] GotoIf("SIP/210-00000002", "0?report") in new stack
-- Executing [s@macro-user-callerid:3] ExecIf("SIP/210-00000002", "1?Set(REALCALLERIDNUM=210)") in new stack
-- Executing [s@macro-user-callerid:4] Set("SIP/210-00000002", "AMPUSER=210") in new stack
-- Executing [s@macro-user-callerid:5] Set("SIP/210-00000002", "AMPUSERCIDNAME=210") in new stack
-- Executing [s@macro-user-callerid:6] GotoIf("SIP/210-00000002", "0?report") in new stack
-- Executing [s@macro-user-callerid:7] Set("SIP/210-00000002", "AMPUSERCID=210") in new stack
-- Executing [s@macro-user-callerid:8] Set("SIP/210-00000002", "CALLERID(all)="210" <210>") in new stack
-- Executing [s@macro-user-callerid:9] ExecIf("SIP/210-00000002", "0?Set(CHANNEL(language)=)") in new stack
-- Executing [s@macro-user-callerid:10] GotoIf("SIP/210-00000002", "0?continue") in new stack
-- Executing [s@macro-user-callerid:11] Set("SIP/210-00000002", "__TTL=64") in new stack
-- Executing [s@macro-user-callerid:12] GotoIf("SIP/210-00000002", "1?continue") in new stack
-- Goto (macro-user-callerid,s,19)
-- Executing [s@macro-user-callerid:19] Set("SIP/210-00000002", "CALLERID(number)=210") in new stack
-- Executing [s@macro-user-callerid:20] Set("SIP/210-00000002", "CALLERID(name)=210") in new stack
-- Executing [s@macro-user-callerid:21] NoOp("SIP/210-00000002", "Using CallerID "210" <210>") in new stack
-- Executing [s@macro-exten-vm:2] Set("SIP/210-00000002", "RingGroupMethod=none") in new stack
-- Executing [s@macro-exten-vm:3] Set("SIP/210-00000002", "VMBOX=novm") in new stack
-- Executing [s@macro-exten-vm:4] Set("SIP/210-00000002", "__EXTTOCALL=200") in new stack
-- Executing [s@macro-exten-vm:5] Set("SIP/210-00000002", "CFUEXT=") in new stack
-- Executing [s@macro-exten-vm:6] Set("SIP/210-00000002", "CFBEXT=") in new stack
-- Executing [s@macro-exten-vm:7] Set("SIP/210-00000002", "RT=""") in new stack
-- Executing [s@macro-exten-vm:8] Macro("SIP/210-00000002", "record-enable,200,IN") in new stack
-- Executing [s@macro-record-enable:1] GotoIf("SIP/210-00000002", "1?check") in new stack
-- Goto (macro-record-enable,s,4)
-- Executing [s@macro-record-enable:4] ExecIf("SIP/210-00000002", "0?MacroExit()") in new stack
-- Executing [s@macro-record-enable:5] GotoIf("SIP/210-00000002", "0?Group:OUT") in new stack
-- Goto (macro-record-enable,s,15)
-- Executing [s@macro-record-enable:15] GotoIf("SIP/210-00000002", "1?IN") in new stack
-- Goto (macro-record-enable,s,20)
-- Executing [s@macro-record-enable:20] ExecIf("SIP/210-00000002", "1?MacroExit()") in new stack
-- Executing [s@macro-exten-vm:9] Macro("SIP/210-00000002", "dial-one,"",tr,200") in new stack
-- Executing [s@macro-dial-one:1] Set("SIP/210-00000002", "DEXTEN=200") in new stack
-- Executing [s@macro-dial-one:2] Set("SIP/210-00000002", "DIALSTATUS_CW=") in new stack
-- Executing [s@macro-dial-one:3] GosubIf("SIP/210-00000002", "0?screen,1") in new stack
-- Executing [s@macro-dial-one:4] GosubIf("SIP/210-00000002", "0?cf,1") in new stack
-- Executing [s@macro-dial-one:5] GotoIf("SIP/210-00000002", "1?skip1") in new stack
-- Goto (macro-dial-one,s,8)
-- Executing [s@macro-dial-one:8] GotoIf("SIP/210-00000002", "0?nodial") in new stack
-- Executing [s@macro-dial-one:9] GotoIf("SIP/210-00000002", "0?continue") in new stack
-- Executing [s@macro-dial-one:10] Set("SIP/210-00000002", "EXTHASCW=") in new stack
-- Executing [s@macro-dial-one:11] GotoIf("SIP/210-00000002", "1?next1:cwinusebusy") in new stack
-- Goto (macro-dial-one,s,12)
-- Executing [s@macro-dial-one:12] GotoIf("SIP/210-00000002", "0?docfu:skip3") in new stack
-- Goto (macro-dial-one,s,16)
-- Executing [s@macro-dial-one:16] GotoIf("SIP/210-00000002", "1?next2:continue") in new stack
-- Goto (macro-dial-one,s,17)
-- Executing [s@macro-dial-one:17] GotoIf("SIP/210-00000002", "1?continue") in new stack
-- Goto (macro-dial-one,s,25)
-- Executing [s@macro-dial-one:25] GotoIf("SIP/210-00000002", "0?nodial") in new stack
-- Executing [s@macro-dial-one:26] GosubIf("SIP/210-00000002", "1?dstring,1:dlocal,1") in new stack
-- Executing [dstring@macro-dial-one:1] Set("SIP/210-00000002", "DSTRING=") in new stack
-- Executing [dstring@macro-dial-one:2] Set("SIP/210-00000002", "DEVICES=200") in new stack
-- Executing [dstring@macro-dial-one:3] ExecIf("SIP/210-00000002", "0?Return()") in new stack
-- Executing [dstring@macro-dial-one:4] ExecIf("SIP/210-00000002", "0?Set(DEVICES=00)") in new stack
-- Executing [dstring@macro-dial-one:5] Set("SIP/210-00000002", "LOOPCNT=1") in new stack
-- Executing [dstring@macro-dial-one:6] Set("SIP/210-00000002", "ITER=1") in new stack
-- Executing [dstring@macro-dial-one:7] Set("SIP/210-00000002", "THISDIAL=SIP/200") in new stack
-- Executing [dstring@macro-dial-one:8] GosubIf("SIP/210-00000002", "1?zap2dahdi,1") in new stack
-- Executing [zap2dahdi@macro-dial-one:1] ExecIf("SIP/210-00000002", "0?Return()") in new stack
-- Executing [zap2dahdi@macro-dial-one:2] Set("SIP/210-00000002", "NEWDIAL=") in new stack
-- Executing [zap2dahdi@macro-dial-one:3] Set("SIP/210-00000002", "LOOPCNT2=1") in new stack
-- Executing [zap2dahdi@macro-dial-one:4] Set("SIP/210-00000002", "ITER2=1") in new stack
-- Executing [zap2dahdi@macro-dial-one:5] Set("SIP/210-00000002", "THISPART2=SIP/200") in new stack
-- Executing [zap2dahdi@macro-dial-one:6] ExecIf("SIP/210-00000002", "0?Set(THISPART2=DAHDI/200)") in new stack
-- Executing [zap2dahdi@macro-dial-one:7] Set("SIP/210-00000002", "NEWDIAL=SIP/200&") in new stack
-- Executing [zap2dahdi@macro-dial-one:8] Set("SIP/210-00000002", "ITER2=2") in new stack
-- Executing [zap2dahdi@macro-dial-one:9] GotoIf("SIP/210-00000002", "0?begin2") in new stack
-- Executing [zap2dahdi@macro-dial-one:10] Set("SIP/210-00000002", "THISDIAL=SIP/200") in new stack
-- Executing [zap2dahdi@macro-dial-one:11] Return("SIP/210-00000002", "") in new stack
-- Executing [dstring@macro-dial-one:9] Set("SIP/210-00000002", "DSTRING=SIP/200&") in new stack
-- Executing [dstring@macro-dial-one:10] Set("SIP/210-00000002", "ITER=2") in new stack
-- Executing [dstring@macro-dial-one:11] GotoIf("SIP/210-00000002", "0?begin") in new stack
-- Executing [dstring@macro-dial-one:12] Set("SIP/210-00000002", "DSTRING=SIP/200") in new stack
-- Executing [dstring@macro-dial-one:13] Return("SIP/210-00000002", "") in new stack
-- Executing [s@macro-dial-one:27] GotoIf("SIP/210-00000002", "0?nodial") in new stack
-- Executing [s@macro-dial-one:28] GotoIf("SIP/210-00000002", "0?skiptrace") in new stack
-- Executing [s@macro-dial-one:29] GosubIf("SIP/210-00000002", "1?ctset,1:ctclear,1") in new stack
-- Executing [ctset@macro-dial-one:1] Set("SIP/210-00000002", "DB(CALLTRACE/200)=210") in new stack
-- Executing [ctset@macro-dial-one:2] Return("SIP/210-00000002", "") in new stack
-- Executing [s@macro-dial-one:30] Set("SIP/210-00000002", "D_OPTIONS=tr") in new stack
-- Executing [s@macro-dial-one:31] ExecIf("SIP/210-00000002", "0?SIPAddHeader(Alert-Info: )") in new stack
-- Executing [s@macro-dial-one:32] ExecIf("SIP/210-00000002", "0?SIPAddHeader()") in new stack
-- Executing [s@macro-dial-one:33] ExecIf("SIP/210-00000002", "0?Set(CHANNEL(musicclass)=)") in new stack
-- Executing [s@macro-dial-one:34] GosubIf("SIP/210-00000002", "0?qwait,1") in new stack
-- Executing [s@macro-dial-one:35] Set("SIP/210-00000002", "__CWIGNORE=") in new stack
-- Executing [s@macro-dial-one:36] Set("SIP/210-00000002", "__KEEPCID=TRUE") in new stack
-- Executing [s@macro-dial-one:37] Dial("SIP/210-00000002", "SIP/200,"",tr") in new stack
== Using SIP RTP TOS bits 184
== Using SIP RTP CoS mark 5
-- Called SIP/200
-- SIP/200-00000003 is ringing
-- Got SIP response 486 "Busy Here" back from 10.0.2.27:5248
-- SIP/200-00000003 is busy
== Everyone is busy/congested at this time (1:1/0/0)
-- Executing [s@macro-dial-one:38] ExecIf("SIP/210-00000002", "0?Set(DIALSTATUS=)") in new stack
-- Executing [s@macro-dial-one:39] GosubIf("SIP/210-00000002", "0?s-BUSY,1") in new stack
-- Executing [s@macro-dial-one:40] MacroExit("SIP/210-00000002", "") in new stack
-- Executing [s@macro-exten-vm:10] GotoIf("SIP/210-00000002", "0?exit") in new stack
-- Executing [s@macro-exten-vm:11] Set("SIP/210-00000002", "SV_DIALSTATUS=BUSY") in new stack
-- Executing [s@macro-exten-vm:12] GosubIf("SIP/210-00000002", "0?docfu,1") in new stack
-- Executing [s@macro-exten-vm:13] GosubIf("SIP/210-00000002", "0?docfb,1") in new stack
-- Executing [s@macro-exten-vm:14] Set("SIP/210-00000002", "DIALSTATUS=BUSY") in new stack
-- Executing [s@macro-exten-vm:15] NoOp("SIP/210-00000002", "Voicemail is 'novm'") in new stack
-- Executing [s@macro-exten-vm:16] GotoIf("SIP/210-00000002", "1?s-BUSY,1") in new stack
-- Goto (macro-exten-vm,s-BUSY,1)
-- Executing [s-BUSY@macro-exten-vm:1] NoOp("SIP/210-00000002", "Extension is reporting BUSY and not passing to Voicemail") in new stack
-- Executing [s-BUSY@macro-exten-vm:2] GotoIf("SIP/210-00000002", "0?exit,1") in new stack
-- Executing [s-BUSY@macro-exten-vm:3] PlayTones("SIP/210-00000002", "busy") in new stack
-- Executing [s-BUSY@macro-exten-vm:4] Busy("SIP/210-00000002", "20") in new stack
== Spawn extension (macro-exten-vm, s-BUSY, 4) exited non-zero on 'SIP/210-00000002' in macro 'exten-vm'
== Spawn extension (from-internal, 200, 1) exited non-zero on 'SIP/210-00000002'
-- Executing [h@from-internal:1] Macro("SIP/210-00000002", "hangupcall") in new stack
-- Executing [s@macro-hangupcall:1] GotoIf("SIP/210-00000002", "1?endmixmoncheck") in new stack
-- Goto (macro-hangupcall,s,9)
-- Executing [s@macro-hangupcall:9] NoOp("SIP/210-00000002", "End of MIXMON check") in new stack
-- Executing [s@macro-hangupcall:10] GotoIf("SIP/210-00000002", "1?nomeetmemon") in new stack
-- Goto (macro-hangupcall,s,28)
-- Executing [s@macro-hangupcall:28] NoOp("SIP/210-00000002", "End of MEETME check") in new stack
-- Executing [s@macro-hangupcall:29] GotoIf("SIP/210-00000002", "1?noautomon") in new stack
-- Goto (macro-hangupcall,s,34)
-- Executing [s@macro-hangupcall:34] NoOp("SIP/210-00000002", "TOUCH_MONITOR_OUTPUT=") in new stack
-- Executing [s@macro-hangupcall:35] GotoIf("SIP/210-00000002", "1?noautomon2") in new stack
-- Goto (macro-hangupcall,s,41)
-- Executing [s@macro-hangupcall:41] NoOp("SIP/210-00000002", "MONITOR_FILENAME=") in new stack
-- Executing [s@macro-hangupcall:42] GotoIf("SIP/210-00000002", "1?skiprg") in new stack
-- Goto (macro-hangupcall,s,45)
-- Executing [s@macro-hangupcall:45] GotoIf("SIP/210-00000002", "1?skipblkvm") in new stack
-- Goto (macro-hangupcall,s,48)
-- Executing [s@macro-hangupcall:48] GotoIf("SIP/210-00000002", "1?theend") in new stack
-- Goto (macro-hangupcall,s,50)
-- Executing [s@macro-hangupcall:50] AGI("SIP/210-00000002", "hangup.agi") in new stack
Лог с другой АТС при таких же настройках
== Using SIP RTP CoS mark 5
-- Executing [406@from-internal:1] Macro("SIP/555-00001c83", "user-callerid,") in new stack
-- Executing [s@macro-user-callerid:1] Set("SIP/555-00001c83", "AMPUSER=+375297077769") in new stack
-- Executing [s@macro-user-callerid:2] GotoIf("SIP/555-00001c83", "0?report") in new stack
-- Executing [s@macro-user-callerid:3] ExecIf("SIP/555-00001c83", "1?Set(REALCALLERIDNUM=+375297077769)") in new stack
-- Executing [s@macro-user-callerid:4] Set("SIP/555-00001c83", "AMPUSER=") in new stack
-- Executing [s@macro-user-callerid:5] Set("SIP/555-00001c83", "AMPUSERCIDNAME=") in new stack
-- Executing [s@macro-user-callerid:6] GotoIf("SIP/555-00001c83", "1?report") in new stack
-- Goto (macro-user-callerid,s,10)
-- Executing [s@macro-user-callerid:10] GotoIf("SIP/555-00001c83", "0?continue") in new stack
-- Executing [s@macro-user-callerid:11] Set("SIP/555-00001c83", "__TTL=64") in new stack
-- Executing [s@macro-user-callerid:12] GotoIf("SIP/555-00001c83", "1?continue") in new stack
-- Goto (macro-user-callerid,s,19)
-- Executing [s@macro-user-callerid:19] Set("SIP/555-00001c83", "CALLERID(number)=+375297077769") in new stack
-- Executing [s@macro-user-callerid:20] Set("SIP/555-00001c83", "CALLERID(name)=") in new stack
-- Executing [s@macro-user-callerid:21] NoOp("SIP/555-00001c83", "Using CallerID "" <+375297077769>") in new stack
-- Executing [406@from-internal:2] GotoIf("SIP/555-00001c83", "1?skipdb") in new stack
-- Goto (from-internal,406,4)
-- Executing [406@from-internal:4] Set("SIP/555-00001c83", "__NODEST=") in new stack
-- Executing [406@from-internal:5] Set("SIP/555-00001c83", "__BLKVM_OVERRIDE=BLKVM/406/SIP/555-00001c83") in new stack
-- Executing [406@from-internal:6] Set("SIP/555-00001c83", "__BLKVM_BASE=406") in new stack
-- Executing [406@from-internal:7] Set("SIP/555-00001c83", "DB(BLKVM/406/SIP/555-00001c83)=TRUE") in new stack
-- Executing [406@from-internal:8] Set("SIP/555-00001c83", "RRNODEST=") in new stack
-- Executing [406@from-internal:9] Set("SIP/555-00001c83", "__NODEST=406") in new stack
-- Executing [406@from-internal:10] GosubIf("SIP/555-00001c83", "0?sub-rgsetcid,s,1") in new stack
-- Executing [406@from-internal:11] Set("SIP/555-00001c83", "RecordMethod=Group") in new stack
-- Executing [406@from-internal:12] Macro("SIP/555-00001c83", "record-enable,222-215-220,Group") in new stack
-- Executing [s@macro-record-enable:1] GotoIf("SIP/555-00001c83", "1?check") in new stack
такая же проблема недавно возникла,смотрел инфу здесь http://wiki.oktell.ru/ частично решение нашел,но до конца так и не смог решить её, пришлось в oktell обращаться.
на мой взгляд модем тут вообще не при чем. проблемы в настройках того что вы называете транком либо октела. С октелом не могу помочь. Видел пару раз всего. Астериск все далает правильно. Он видит вызов с 210 пира на 200. Это собственно и отображает. Посмотрите может в октеле есть возможность подмены callerid
Задан: 2013-11-18 13:15:07 +0400
Просмотрен: 873 раз
Обновлен: May 01 '14
Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании
Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией
GNU GPL.
как транк настроен?
bandys ( 2013-11-18 13:19:46 +0400 )редактироватьtype=friend secret=210 nat=yes host=dynamic username=210 dtmfmode=rfc2833 disallow=all allow=alaw context=from-internal
Но причем тут транк, если речь идет о входящих вызовах . Транк вроде как нужен для исходящих :) В oktell же указывается номер по умолчанию, куда выхов должен первоначально входящий поступать
nyll ( 2013-11-18 13:30:07 +0400 )редактироватья правильно понимаю что октел у вас подключен к астериску как простой сип пир? если так то не понимаю чего вы хотите добиться. Звонок приходит на октел затем вызывает номер 200 с номера 210. Какой по вашему должен тут номер определяться?!?! Вызов идет с номера 210 он и определяется. Если нужно что б определялся входящий номер того кто позвонил на октел то тут либо в транк бросать либо писать руками вызов на астериске. И да. Транк работает в обе стороны. С октелом не сильно знаком, но сомневаюсь, что у них нет такого функционала.
bandys ( 2013-11-18 13:58:30 +0400 )редактироватьВ том то все и дело, что работает как сип пир, однако умудряется пробрасывать CID как номер звонящего в софтофон. Просто в одном месте у меня такая же связка прекрасно работает ,и номер прекрасно определяется, однако вот в данный момент ну не получается настроить... Это самое первое место находится очень далеко ,а копировать гигабайты (стоит на виртуальной) не вариант. Настройки сверял, ставил один в один - не помогает... Уже склоняюсь ,что может проблема в самом модеме, но думаю врят ли...
Добавил лог с другой АТС при таких же настройках
nyll ( 2013-11-18 15:06:05 +0400 )редактироватьОктелл правильную информацию передает астериску, но вот тот почему-то не подставляет CID... Вот в чем проблема... Сейчас пробывал переустановить - проблема осталась... Посмотрите второй лог с другого астериска, он видит правильный CID, хотя как бы должен видеть 555 номер
nyll ( 2013-11-18 16:55:10 +0400 )редактироватьсравните sip.conf c двух астерисков.
bandys ( 2013-11-18 17:14:32 +0400 )редактироватьтам все закомменчено (Описание конфигурационных файлов sip*.conf, сборка elastix же), в sip_custom.conf пусто
ps Сори, не туда посмотрел (называется по-другому немного он там). Пока буду сравнивать. Спс
pps сравнил, один в один
Проблемма точно не в oklell. Отмел ее, когда подключил свой oklell к другой рабочей АТС, номер определился... Самый простой выход - ехать в другой город и копировать гигабайты виртуалки себе, и потом подымать :) Но все хочется разобраться, конечно...
nyll ( 2013-11-18 17:38:36 +0400 )редактироватьВсем спасибо. Проблема решена
Оказалось все намного проще, чем я думал
файл sip_additional.conf нашел строку callerid=device <210> Удалил ее и все заработало :) Не там копал...
nyll ( 2013-11-18 18:47:36 +0400 )редактироватьудалить её не поможет. этот файл нельзя редактировать. поправте в вебморде
bandys ( 2013-11-19 09:55:58 +0400 )редактироватьАга, позже заметил. В вебморде нет такой строки для редактирования. Оказалось для октеля достаточно было создать транк и привязать его к учетке в октеле, тогда все работает прекрасно :)
nyll ( 2013-11-19 12:12:31 +0400 )редактировать