Добрый день. Есть panasonic tda600. по потоку через qsig привязан к астериску. На слонике нумерация на 410XX, на астере 416ХХ. нумерация. 416 на слонике прописана как номерной план другой атс. Вызовы между станциями ходят как надо. Вся проблема в переадресации. на слонике на номере 41035 включаю переадресацию *71041671#. При входящем вызове с локального телефона (410ХХ) переадресация отрабатывает как надо. При вызове с 416ХХ (т.е. внешнего) идёт отбой. В логах QSIG слоника есть интересная запись:
PBX->QSIG line No.371 Port:1 (elapsed time from LPR reset) 01/01/01 01:25:45
L2: I SAPI:0 TEI:0
L3:
FACILITY crn:0030 (D)
Facility: 91 AA 06 80 01 00 82 01 00 A1 23 02 01 04 06 04 2B 0C 09 13 30 18 0A 01 01 30 07 80 05 34 31 36 37 31 02 01 01 40 05 04 03 80 90 A3 81 00
([Inv] id= 04 op= callRerouting)
00 01 90 40 08 02 80 30 62 1C 2E 91 AA 06 80 01
00 82 01 00 A1 23 02 01 04 06 04 2B 0C 09 13 30
18 0A 01 01 30 07 80 05 34 31 36 37 31 02 01 01
40 05 04 03 80 90 A3 81 00
В логах астериска
[Apr 7 17:25:35] VERBOSE[11975] chan_dahdi.c: [Apr 7 17:25:35] PRI Span: 1
[Apr 7 17:25:35] VERBOSE[11975] chan_dahdi.c: [Apr 7 17:25:35] PRI Span: 1 < Protocol Discriminator: Q.931 (8) len=53
[Apr 7 17:25:35] VERBOSE[11975] chan_dahdi.c: [Apr 7 17:25:35] PRI Span: 1 < TEI=0 Call Ref: len= 2 (reference 2/0x2) (Sent to originator)
[Apr 7 17:25:35] VERBOSE[11975] chan_dahdi.c: [Apr 7 17:25:35] PRI Span: 1 < Message Type: FACILITY (98)
[Apr 7 17:25:35] VERBOSE[11975] chan_dahdi.c: [Apr 7 17:25:35] PRI Span: 1 < [1c 2e 91 aa 06 80 01 00 82 01 00 a1 23 02 01 04 06 04 2b 0c 09 13 30 18 0a 01
01 30 07 80 05 34 31 36 37 31 02 01 01 40 05 04 03 80 90 a3 81 00]
[Apr 7 17:25:35] VERBOSE[11975] chan_dahdi.c: [Apr 7 17:25:35] PRI Span: 1 < Facility (len=48, codeset=0) [ 0x91, 0xAA, 0x06, 0x80, 0x01, 0x00, 0x82, 0x01,
0x00, 0xA1, '#', 0x02, 0x01, 0x04, 0x06, 0x04, '+', 0x0C, 0x09, 0x13, '0', 0x18, 0x0A, 0x01, 0x01, '0', 0x07, 0x80, 0x05, '41671', 0x02, 0x01, 0x01, '@', 0x05
, 0x04, 0x03, 0x80, 0x90, 0xA3, 0x81, 0x00 ]
[Apr 7 17:25:35] VERBOSE[11975] chan_dahdi.c: [Apr 7 17:25:35] PRI Span: 1 Received message for call 0xa012ab0 on link 0x9f3a18c TEI/SAPI 0/0
[Apr 7 17:25:35] VERBOSE[11975] chan_dahdi.c: [Apr 7 17:25:35] PRI Span: 1 -- Processing IE 28 (cs0, Facility)
[Apr 7 17:25:35] VERBOSE[11975] chan_dahdi.c: [Apr 7 17:25:35] PRI Span: 1 -- Delayed processing IE 28 (cs0, Facility)
[Apr 7 17:25:35] VERBOSE[11975] chan_dahdi.c: [Apr 7 17:25:35] PRI Span: 1 ASN.1 dump
[Apr 7 17:25:35] VERBOSE[11975] chan_dahdi.c: [Apr 7 17:25:35] PRI Span: 1 Context Specific/C [10 0x0A] <AA> Len:6 <06>
[Apr 7 17:25:35] VERBOSE[11975] chan_dahdi.c: [Apr 7 17:25:35] PRI Span: 1 Context Specific [0 0x00] <80> Len:1 <01>
[Apr 7 17:25:35] VERBOSE[11975] chan_dahdi.c: [Apr 7 17:25:35] PRI Span: 1 <00> - "~"
[Apr 7 17:25:35] VERBOSE[11975] chan_dahdi.c: [Apr 7 17:25:35] PRI Span: 1 Context Specific [2 0x02] <82> Len:1 <01>
[Apr 7 17:25:35] VERBOSE[11975] chan_dahdi.c: [Apr 7 17:25:35] PRI Span: 1 <00> - "~"
[Apr 7 17:25:35] VERBOSE[11975] chan_dahdi.c: [Apr 7 17:25:35] PRI Span: 1 Context Specific/C [1 0x01] <A1> Len:35 <23>
[Apr 7 17:25:35] VERBOSE[11975] chan_dahdi.c: [Apr 7 17:25:35] PRI Span: 1 Integer(2 0x02) <02> Len:1 <01>
[Apr 7 17:25:35] VERBOSE[11975] chan_dahdi.c: [Apr 7 17:25:35] PRI Span: 1 <04> - "~"
[Apr 7 17:25:35] VERBOSE[11975] chan_dahdi.c: [Apr 7 17:25:35] PRI Span: 1 OID(6 0x06) <06> Len:4 <04>
[Apr 7 17:25:35] VERBOSE[11975] chan_dahdi.c: [Apr 7 17:25:35] PRI Span: 1 <2B 0C 09 13> - "+~~~"
[Apr 7 17:25:35] VERBOSE[11975] chan_dahdi.c: [Apr 7 17:25:35] PRI Span: 1 Sequence/C(48 0x30) <30> Len:24 <18>
[Apr 7 17:25:35] VERBOSE[11975] chan_dahdi.c: [Apr 7 17:25:35] PRI Span: 1 Enumerated(10 0x0A) <0A> Len:1 <01>
[Apr 7 17:25:35] VERBOSE[11975] chan_dahdi.c: [Apr 7 17:25:35] PRI Span: 1 <01> - "~"
[Apr 7 17:25:35] VERBOSE[11975] chan_dahdi.c: [Apr 7 17:25:35] PRI Span: 1 Sequence/C(48 0x30) <30> Len:7 <07>
[Apr 7 17:25:35] VERBOSE[11975] chan_dahdi.c: [Apr 7 17:25:35] PRI Span: 1 Context Specific [0 0x00] <80> Len:5 <05>
[Apr 7 17:25:35] VERBOSE[11975] chan_dahdi.c: [Apr 7 17:25:35] PRI Span: 1 <34 31 36 37 31> - "41671"
[Apr 7 17:25:35] VERBOSE[11975] chan_dahdi.c: [Apr 7 17:25:35] PRI Span: 1 Integer(2 0x02) <02> Len:1 <01>
[Apr 7 17:25:35] VERBOSE[11975] chan_dahdi.c: [Apr 7 17:25:35] PRI Span: 1 <01> - "~"
[Apr 7 17:25:35] VERBOSE[11975] chan_dahdi.c: [Apr 7 17:25:35] PRI Span: 1 Application [0 0x00] <40> Len:5 <05>
[Apr 7 17:25:35] VERBOSE[11975] chan_dahdi.c: [Apr 7 17:25:35] PRI Span: 1 <04 03 80 90 A3> - "~~~~~"
[Apr 7 17:25:35] VERBOSE[11975] chan_dahdi.c: [Apr 7 17:25:35] PRI Span: 1 Context Specific [1 0x01] <81> Len:0 <00>
[Apr 7 17:25:35] VERBOSE[11975] chan_dahdi.c: [Apr 7 17:25:35] PRI Span: 1 ASN.1 end
[Apr 7 17:25:35] VERBOSE[11975] chan_dahdi.c: [Apr 7 17:25:35] PRI Span: 1 nfe NetworkFacilityExtension Context Specific/C [10 0x0A]
[Apr 7 17:25:35] VERBOSE[11975] chan_dahdi.c: [Apr 7 17:25:35] PRI Span: 1 sourceEntity Context Specific [0 0x00] = 0 0x0000
[Apr 7 17:25:35] VERBOSE[11975] chan_dahdi.c: [Apr 7 17:25:35] PRI Span: 1 destinationEntity Context Specific [2 0x02] = 0 0x0000
[Apr 7 17:25:35] VERBOSE[11975] chan_dahdi.c: [Apr 7 17:25:35] PRI Span: 1 INVOKE Component Context Specific/C [1 0x01]
[Apr 7 17:25:35] VERBOSE[11975] chan_dahdi.c: [Apr 7 17:25:35] PRI Span: 1 invokeId Integer(2 0x02) = 4 0x0004
[Apr 7 17:25:35] VERBOSE[11975] chan_dahdi.c: [Apr 7 17:25:35] PRI Span: 1 operationValue OID(6 0x06) = 43.12.9.19
[Apr 7 17:25:35] VERBOSE[11975] chan_dahdi.c: [Apr 7 17:25:35] PRI Span: 1 operationValue = ROSE_Unknown
[Apr 7 17:25:35] VERBOSE[11975] chan_dahdi.c: [Apr 7 17:25:35] PRI Span: 1 Skipping unused constructed component octets!
[Apr 7 17:25:35] VERBOSE[11975] chan_dahdi.c: [Apr 7 17:25:35] PRI Span: 1 !! ROSE invoke operation not handled on switchtype:Q.SIG switch! ROSE_Unknown
т.е. libpri не понимает что от неё хотят. Насколько позволяют знания, полазил в исходниках libpri. В rose.c обработка переадресации как-бы есть, но код функции не 04. По аналогии с передачей callerid (чтобы имена начали нормально ходить переделывал в FACILITY префикс с 9F на 91) есть подозрение что надо дописать отсутствующую функцию. Как вариант можно обратно поменять QSIG на euroisdn, но тогда про передачу имени в callerid можно будет забыть, а не хотелось бы. Возможно что кто-то что-то похожее уже реализовывал и хотелось бы подсказки в каком направлении копать. Заранее благодарен за помошь