dr_bad
28.01.2010, 14:26
Доброго всем дня!
Есть 2 АТС, LDK-300 и Asterisk, между собой связанны через поток E1.
Внутреофисная телефония на LDK, так же есть некоторое количество пользователей подключенных через Asterisk.
Сделан единый план нумерации, то есть на LDK номера на 1хх на Asteriske 2хх, 3хх, 7хх.
Asterisk служит транзитной станцией, на нее заведены все входящие и исходящие линии, по SIP транку (SIPNET, MangoTelecom, Corbina), по DAHDI транку МГТС и GSM-шлюзы.
Asterisk разруливает маршрутами звонков пользователей, подкидывает автоматом нужное исходящее направление, то есть самое дешевое. :-)

При звонках с Asterisk на LDK, CillerID определяется без проблем, а вот когда звоним с LDK на Asterisk, то номер не определяется.

В консоле Asterisk'а не вижу чтоб LDK выдавал CillerID в Asterisk.
(dialparties.agi: Caller ID name is 'unknown' number is 'unknown')

Уважаемые гуру, подскажите где это дело настраивается в LDK.

Версия прошивки LDK-300: GS30P-3.6Df JUL/06


Лог Asterisk'а:
-- Accepting call from '' to '777' on channel 0/1, span 1
-- Executing [777@from-internal:1] Macro("DAHDI/1-1", "exten-vm|novm|777") in new stack
-- Executing [s@macro-exten-vm:1] Macro("DAHDI/1-1", "user-callerid") in new stack
-- Executing [s@macro-user-callerid:1] Set("DAHDI/1-1", "AMPUSER=") in new stack
-- Executing [s@macro-user-callerid:2] GotoIf("DAHDI/1-1", "0?report") in new stack
-- Executing [s@macro-user-callerid:3] ExecIf("DAHDI/1-1", "1|Set|REALCALLERIDNUM=") in new stack
-- Executing [s@macro-user-callerid:4] Set("DAHDI/1-1", "AMPUSER=") in new stack
-- Executing [s@macro-user-callerid:5] Set("DAHDI/1-1", "AMPUSERCIDNAME=") in new stack
-- Executing [s@macro-user-callerid:6] GotoIf("DAHDI/1-1", "1?report") in new stack
-- Goto (macro-user-callerid,s,10)
-- Executing [s@macro-user-callerid:10] GotoIf("DAHDI/1-1", "0?continue") in new stack
-- Executing [s@macro-user-callerid:11] Set("DAHDI/1-1", "__TTL=64") in new stack
-- Executing [s@macro-user-callerid:12] GotoIf("DAHDI/1-1", "1?continue") in new stack
-- Goto (macro-user-callerid,s,19)
-- Executing [s@macro-user-callerid:19] NoOp("DAHDI/1-1", "Using CallerID "" <>") in new stack
-- Executing [s@macro-exten-vm:2] Set("DAHDI/1-1", "RingGroupMethod=none") in new stack
-- Executing [s@macro-exten-vm:3] Set("DAHDI/1-1", "VMBOX=novm") in new stack
-- Executing [s@macro-exten-vm:4] Set("DAHDI/1-1", "EXTTOCALL=777") in new stack
-- Executing [s@macro-exten-vm:5] Set("DAHDI/1-1", "CFUEXT=") in new stack
-- Executing [s@macro-exten-vm:6] Set("DAHDI/1-1", "CFBEXT=") in new stack
-- Executing [s@macro-exten-vm:7] Set("DAHDI/1-1", "RT=""") in new stack
-- Executing [s@macro-exten-vm:8] Macro("DAHDI/1-1", "record-enable|777|IN") in new stack
-- Executing [s@macro-record-enable:1] GotoIf("DAHDI/1-1", "1?check") in new stack
-- Goto (macro-record-enable,s,4)
-- Executing [s@macro-record-enable:4] AGI("DAHDI/1-1", "recordingcheck|20100128-112137|1264666897.3") in new stack
-- Launched AGI Script /var/lib/asterisk/agi-bin/recordingcheck
recordingcheck|20100128-112137|1264666897.3: Inbound recording not enabled
-- AGI Script recordingcheck completed, returning 0
-- Executing [s@macro-record-enable:5] MacroExit("DAHDI/1-1", "") in new stack
-- Executing [s@macro-exten-vm:9] Macro("DAHDI/1-1", "dial||tr|777") in new stack
-- Executing [s@macro-dial:1] GotoIf("DAHDI/1-1", "1?dial") in new stack
-- Goto (macro-dial,s,3)
-- Executing [s@macro-dial:3] AGI("DAHDI/1-1", "dialparties.agi") in new stack
-- Launched AGI Script /var/lib/asterisk/agi-bin/dialparties.agi
dialparties.agi: Starting New Dialparties.agi
== Parsing '/etc/asterisk/manager.conf': Found
== Parsing '/etc/asterisk/manager_additional.conf': Found
== Parsing '/etc/asterisk/manager_custom.conf': Found
== Manager 'admin' logged on from 127.0.0.1
dialparties.agi: Caller ID name is 'unknown' number is 'unknown'
dialparties.agi: USE_CONFIRMATION: 'FALSE'
dialparties.agi: RINGGROUP_INDEX: ''
dialparties.agi: Methodology of ring is 'none'
-- dialparties.agi: Added extension 777 to extension map
-- dialparties.agi: Extension 777 cf is disabled
-- dialparties.agi: Extension 777 do not disturb is disabled
> dialparties.agi: extnum 777 has: cw: 0; hascfb: 0 [] hascfu: 0 []
dialparties.agi: ExtensionState: 0
dialparties.agi: Extension 777 has ExtensionState: 0
-- dialparties.agi: Checking CW and CFB status for extension 777
-- dialparties.agi: DbDel CALLTRACE/777 - Caller ID is not defined
-- dialparties.agi: Filtered ARG3: 777
== Manager 'admin' logged off from 127.0.0.1
-- AGI Script dialparties.agi completed, returning 0
-- Executing [s@macro-dial:7] Dial("DAHDI/1-1", "SIP/777||tr") in new stack
-- Called 777
-- SIP/777-00000000 is ringing
-- Channel 0/1, span 1 got hangup request, cause 16
== Spawn extension (macro-dial, s, 7) exited non-zero on 'DAHDI/1-1' in macro 'dial'
== Spawn extension (macro-exten-vm, s, 9) exited non-zero on 'DAHDI/1-1' in macro 'exten-vm'
== Spawn extension (from-internal, 777, 1) exited non-zero on 'DAHDI/1-1'
-- Executing [h@macro-dial:1] Macro("DAHDI/1-1", "hangupcall") in new stack
-- Executing [s@macro-hangupcall:1] GotoIf("DAHDI/1-1", "1?skiprg") in new stack
-- Goto (macro-hangupcall,s,4)
-- Executing [s@macro-hangupcall:4] GotoIf("DAHDI/1-1", "1?skipblkvm") in new stack
-- Goto (macro-hangupcall,s,7)
-- Executing [s@macro-hangupcall:7] GotoIf("DAHDI/1-1", "1?theend") in new stack
-- Goto (macro-hangupcall,s,9)
-- Executing [s@macro-hangupcall:9] Hangup("DAHDI/1-1", "") in new stack
== Spawn extension (macro-hangupcall, s, 9) exited non-zero on 'DAHDI/1-1' in macro 'hangupcall'
== Spawn extension (macro-dial, h, 1) exited non-zero on 'DAHDI/1-1'
-- Hungup 'DAHDI/1-1'
asterisk*CLI>

switch002
28.01.2010, 15:44
лыжа с астером должна быть соединена протоколом QSIG
как я понимаю, в q931 хоть и есть поле callerid и астериск его использует, но ни одна АТС, которые я видел, не отдают CID в поток, но многие успешно принимают.
Однако для транзита callerid нужно использовать более-менее свежие сборки dahdi, так как там немного доработали Qsig для транзита имен

harris
28.01.2010, 16:12
Врядли QSIG на LG и на Астериске совместимы. Кроме того, для использования QSIG на LG нужно приобретать лицензию.

Что именно нужно???
Передавать Имя абонента или же просто его номер (CLIP/COLP)??? Имя передать не получиться (для этого нужен QSIG), а СLIP - элементарно.
Формирование CLIP в принципе описано в Руководстве по программированию, п. 2.14.2.
Но вообще-то, еще не лишне знать, как у Вас сделан единый план нумерации: посредством LCR (ПГМ220~222) или посредством Сетевых таблиц (Nerworking: ПГМ320~324). От этого тоже зависит, как прописывать CLIP.

switch002
28.01.2010, 17:07
Врядли QSIG на LG и на Астериске совместимы.
это почему?
с nec qsig, siemens qsig, panasonic qsig совместимы, а почему с лыже не совместим? какая-то другая версия стандарта?

dr_bad
28.01.2010, 18:16
Уже все сделал!
QSIG здесь не при чем.
Тема закрыта.
Всем спасибо за внимание!!!

harris
29.01.2010, 12:10
это почему?
с nec qsig, siemens qsig, panasonic qsig совместимы, а почему с лыже не совместим? какая-то другая версия стандарта?
Нет стандарта QSIG. Есть рекомендации ETSI и есть рекомендации ассоциации производителей ECMA (LG туда не пожелала войти). Между этими рекомендациями есть различия.
Давно тому назад мы тестировали QSIG между LDK и Avaya Definity. При этом не удалось добиться совместимости по передачи Имен абонентов (CNIP) как в одну, та и в другую сторону. Видимо, кодировки не совпадают. Проблем с Basic Call не было. Такая же ситуация и при стыковке LDK с Siemens - имя абонента не проходит.

michaelloginov
24.08.2010, 15:39
Уже все сделал!
QSIG здесь не при чем.
Тема закрыта.
Всем спасибо за внимание!!!

а поделиться чем решили проблему ?

harris
24.08.2010, 16:31
Чем делиться??
Просто нужно правильно запрограммировать выдачу CLI (Calling Party Number).
Формирование CLI в описано в Руководстве по программированию, п. 2.14.2.