Как передать Сalling party number?
Сообщений: 141
|
Re: Как передать Сalling party number?
Ага, вот и сам столкнулся с похожей проблемой.
Ситуация такая. Звонок приходит на астериск по PRI (EURO ISDN), без CLID, пытаюсь ему присвоить CALLERIDNUM и отправить на нужный номер
exten => 8004,1,Set(CALLERID(number)=8004)
exten => 8004,2,Dial(SIP/8500)
но на телефоне высвечивается что номер неизвестен
вот лог звонка
-- Accepting call from '' to '8004' on channel 0/23, span 1
-- Executing Set("Zap/23-1", "CALLERID(number)=8004") in new stack
-- Executing Dial("Zap/23-1", "SIP/8500") in new stack
-- Called 8500
-- SIP/8500-bd31 is ringing
-- SIP/8500-bd31 answered Zap/23-1
== Spawn extension (meridian_zap, 8004, 2) exited non-zero on 'Zap/23-1'
-- Hungup 'Zap/23-1'
Причем в cdr все правильно записывается, что clid 8004.
какие нибудь идеи есть?
|
Сообщений: 141
|
Re: Как передать Сalling party number?
да, астериск 1.2.9
|
Сообщений: 92
|
Re: Как передать Сalling party number?
Внимательнее нужно быть!
show function CALLERID
-= Info about function 'CALLERID' =-
[Syntax]
CALLERID(datatype)
[Synopsis]
Gets or sets Caller*ID data on the channel.
[Description]
Gets or sets Caller*ID data on the channel. The allowable datatypes
are "all", "name", "num", "ANI", "DNID", "RDNIS".
CALLERID(number) & CALLERID(num) . Разницу видите ?
PS сам на эти грабли как то наступил :wacko:
|
Сообщений: 141
|
Re: Как передать Сalling party number?
да уж расхождения какие-то
http://www.voip-info.org/wiki/index.php?page=Asterisk+func+callerid
Пробовал менять на num, ситуация не изменилась.
|
Сообщений: 141
|
Re: Как передать Сalling party number?
Интересно,
имеем
exten => 8004,1,Answer
exten => 8004,2,Set(CALLERID(number)=8004)
exten => 8004,3,NoOp(${CALLERIDNUM})
exten => 8004,4,Dial(SIP/8500,20)
получаем
-- Accepting call from '' to '8004' on channel 0/5, span 1
-- Executing Answer("Zap/5-1", "") in new stack
-- Executing Set("Zap/5-1", "CALLERID(number)=8004") in new stack
-- Executing NoOp("Zap/5-1", "8004") in new stack
-- Executing Dial("Zap/5-1", "SIP/8500|20") in new stack
-- Called 8500
-- SIP/8500-6fba is ringing
-- SIP/8500-6fba answered Zap/5-1
-- Channel 0/5, span 1 got hangup request
== Spawn extension (meridian_zap, 8004, 4) exited non-zero on 'Zap/5-1'
-- Hungup 'Zap/5-1'
видно что астериск присваивает CALLERIDNUM правильно, но почему то не передает.
|
Сообщений: 60
|
Re: Как передать Сalling party number?
Спасибо за ответы!
Значит, попытаюсь все "разложить по полочкам" с учетом вышенаписанного.
Итак. Имеется * v1.2.9.1, подключенный к Голден телекому по PRI (входные номера 7902261-7902268). С моей стороны PRI воткнут в Digium TE110P. PRI работает, звонки проходят. Внутри офиса расставлены IP-phones Grandstream GXP-2000. Распределение входящих настроил - звонишь на 7902261 - звонят внутренние 18199, 18198; звонишь на 7902262 - звонит внутренний 18197, а через 10 сек, если не поднимают трубки, звонок переходит на 18198.
Так вот теперь задача: я хочу, чтобы при звонке в город с внутреннего 18197 вызываемой стороне передавался 7902262 - по которому можно дозвониться внутреннему 18197. Сейчас же передается 7902261.
> Called g1/80XXXXXXX22 - это ты вручную лог корректировал? или так и есть?
Да, корректировал вручную. Это я звонил себе на мобилку 8067632НН22 - 11 цифр :)
|
Сообщений: 141
|
Re: Как передать Сalling party number?
Это все замечательно, теперь тебе осталось узнать у твоего оператора ( то бишь голден телекома) что он делает с приходяшими к нему CLID, выбрасывает нафиг и подставляет свой, либо транслирует то что получил. Если второе, то надо узнать в каком формате должен приходить к нему этот CLID чтобы он успешно транслировался дальше.
|
Сообщений: 141
|
Re: Как передать Сalling party number?
По своей проблеме заметил такую особенность, если
во входящем звонке отсутсвует CLID то его изменить не удается, если же присутсвует то все замечательно работает. т.е. при звонке
-- Accepting call from '' to '8004' on channel 0/18, span 1
-- Executing Answer("Zap/18-1", "") in new stack
-- Executing Set("Zap/18-1", "CALLERID(number)=8004") in new stack
-- Executing NoOp("Zap/18-1", "8004") in new stack
-- Executing Dial("Zap/18-1", "SIP/8500|20|T") in new stack
-- Called 8500
-- SIP/8500-e9cc is ringing
-- SIP/8500-e9cc answered Zap/18-1
== Spawn extension (meridian_zap, 8004, 4) exited non-zero on 'Zap/18-1'
-- Hungup 'Zap/18-1'
Номер на SIP телефоне не определяется
а при звонке
-- Accepting call from '366' to '8004' on channel 0/15, span 1
-- Executing Answer("Zap/15-1", "") in new stack
-- Executing Set("Zap/15-1", "CALLERID(number)=8004") in new stack
-- Executing NoOp("Zap/15-1", "8004") in new stack
-- Executing Dial("Zap/15-1", "SIP/8500|20|T") in new stack
-- Called 8500
-- SIP/8500-70c1 is ringing
-- SIP/8500-70c1 answered Zap/15-1
== Spawn extension (meridian_zap, 8004, 4) exited non-zero on 'Zap/15-1'
-- Hungup 'Zap/15-1'
Номер определяется как 8004, то есть все прекрасно работает.
Оба звонка приходят по одному и тому же PRI каналу
Это так и должно работать??
|
Сообщений: 6521
|
Re: Как передать Сalling party number?
2 SpiderMan: Я что-то недопонимаю, видимо. В первом случае приходит звонок от неизвестного абонента с подавлением CALLERID на внутр номер 8004, который согласно твоему диалплану кидаешь на SIP/8500. При этом ничего и не будет определяться.
Во втором случае приходит от (внутреннего абонента ?) 366 на тот же 8004. Без Set("Zap/15-1", "CALLERID(number)=8004") этот номер должен бы определяться как 366. Ведь определитель номера определяет ни кому звонят (в твоем случае 8004), а кто звонит.
Если придет звонок из города, то Голден телеком его передаст как 4957832940 к примеру. Звони кстати на этот нумер, пообчаемся.
|
Сообщений: 141
|
Re: Как передать Сalling party number?
Да в первом случае это звонок из города, который заворачивается на астериск, и никакого CALLERID при этом не передается и никогда не передовалось.
Во втором случае это звонок с внутреннего телефона офисной АТС, да без подмены CALLERID определится как 366.
непонятно почему в первом случае подмена не работает, а во втором работает!?
|
|