Пожалуйста, войдите здесь. Часто задаваемые вопросы О нас
Задайте Ваш вопрос

Проблема с CID в связке Oktell и elastix

0

Почти все перекопал уже, в логах 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
удалить закрыть спам изменить тег редактировать

спросил 2013-11-18 13:15:07 +0400

nyll Gravatar nyll
1 7 1 5

обновил 2013-11-18 15:26:11 +0400

Comments

как транк настроен?

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 )редактировать

2 Ответа

0

такая же проблема недавно возникла,смотрел инфу здесь http://wiki.oktell.ru/ частично решение нашел,но до конца так и не смог решить её, пришлось в oktell обращаться.

ссылка удалить спам редактировать

ответил 2014-05-01 13:00:15 +0400

Gardamuro Gravatar Gardamuro
1
0

на мой взгляд модем тут вообще не при чем. проблемы в настройках того что вы называете транком либо октела. С октелом не могу помочь. Видел пару раз всего. Астериск все далает правильно. Он видит вызов с 210 пира на 200. Это собственно и отображает. Посмотрите может в октеле есть возможность подмены callerid

ссылка удалить спам редактировать

ответил 2013-11-18 16:30:16 +0400

bandys Gravatar bandys
274 6 8

Ваш ответ

Please start posting your answer anonymously - your answer will be saved within the current session and published after you log in or create a new account. Please try to give a substantial answer, for discussions, please use comments and please do remember to vote (after you log in)!
[скрыть предварительный просмотр]

Закладки и информация

Добавить закладку

подписаться на rss ленту новостей

Статистика

Задан: 2013-11-18 13:15:07 +0400

Просмотрен: 420 раз

Обновлен: May 01 '14

Похожие вопросы:

Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией GNU GPL.