Здравствуйте.
Клиенту необходимо настроить фичу Mobile Extension для переключения режима день-ночь удалённо.
Сначала пробую в офисе на стендовой SL1000 (v7, 4x8), всё получается:
- убеждаемся, что CallerID приходит по СО и отображается на внутр. аппарате (напр. 123456 безо всяких доп. префиксов);
- 11-02 - назначаем внутр. номер (например 210) порту (например 010), не обеспеченному физ. портами;
- 13-04-01 - в ячейку 001 внеш. номер абонента (123456);
- 15-22-01 - внутр. номеру 210 назначем ячейку 1;
- либо 22-02 - DIL по вход. СО линии, 22-07 - получатель вызова внутр. абонент 210;
- либо 22-02 - VRS, 25-06 (1-digit attendant) "1" (например) - наш внутр. 210.
Сохраняем, перегружаем (на всяк. случай), делаем тест. вызовы:
- снаружи с внеш. номера 123456 на СО линию. В случае с DIL после 1-2 КПВ получаем непрерывный тон АТС и получаем доступ: набор внутр. номеров, переключение днев.-ночного режимов (основная цель всей затеи) и пр.
- вызов изнутри внутр. номера 210 вызывает дозвон на внеш. абонента 123456.
Т.е. всё работает как заявлено.
Теперь идём к клиенту и пробуем настроить эту фичу на SL2100 v1.5 (6х16) по тому же алгоритму. Естественно, с другими внутр. и внеш. номерами. Фича настраивалась на внутр. порту 017 - первый нефизический внутр. порт АТС.
При проверке имеем очень странное поведение АТС:
- при вызове снаружи (СО линия в режиме DIL) станция поднимает трубку и в акуст. канале слышен некий набор тоном (*6002, лог из DIM'a приложен), после которого слышен сигнал "занято" (логично, набор *6ХХХ описан как сервис код, но именно код *6002 ничему не назначен);
- при вызове внутр. номера внутри АТС просто тишина и ничего не происходит. Ждал больше минуты.
Естественно, у клиента всё проверялось-менялось по нескольку раз с сохранениям-перезагрузками.
Лицензия на Mobile Extension задействуется, входящий вызов из вне отрабатывается именно по заданному в 13-04 CallerID номеру (меняешь номер 13-04-01 на заведомо неправильный соединение не устанавливается, просто идут КПВ посылки).
Что это? Как добиться работоспособности фичи?
Код:
[i]12:01:22 >>== 19/MAR/2019, 12:1:22 ==
*(EVENT),ID:00000000H,P1:000C0002H,P2:00000002H,P3:0000010FH
12:01:22 >>
12:01:22 >>*(EVENT),ID:00000009H,P1:000C0002H,P2:00000000H,P3:7520CED8H
value: 3
value: 19
value: 12
value: 2
>>>>> Incoming time is ...
30 33 31 39 31 32 30 32
>>>>> Calling Line ID is ...
38 39 31 34 37 35 39 37 35 33 38
<<< cdetect.cpp(657) Enter cdetector::close() status(2)>>>
<<< cdetect.cpp(753) Enter cdetect::disconnect() >>>
<<< cdetect.cpp(279) new cdetector::open() target port is c0002 >>>
<<< cdetect.cpp(377) Enter cdetector::open(DT_TONE,0,C0002H) >>>
<<< cdetect.cpp(594) iDetector is iBlockCenter (1)>>>
<<< cdetect.cpp(630) cdetect::open() Channel 180002H is opened for port C0002H >>>
<<< cdetect.cpp(696) Enter cdetect::connect() >>>
>>>> PORT:000C0002H STATUS 0317H => 0013H
*(INTER),ID:000C0002H,P1:00000011H,P2:00000000H,P3:00000801H
>>>> PORT:00000011H STATUS 0000H => 000DH
*(INTER),ID:00000011H,P1:000C0002H,P2:00000000H,P3:00000802H
>>>> PORT:000C0002H STATUS 0013H => 00A5H
idetectorCenter::detectorAssign idResource:1
<<< recv0206.cpp(996) Invalid logical port [11H] >>>
IOCS:ID=0206,P1=00000011,P2=0000000D,P3=00000029,P4=00000002,P5=00000000 -- Unknown mail ID
*(EVENT),ID:00000000H,P1:00000011H,P2:00000002H,P3:00000008H
Enter vm2002_dial_set : vm_port:0011h, length:7
Dial 0bh
Dial 0bh
Dial 0bh
Dial 06h
Dial 0ah
Dial 0ah
Dial 02h
>>>> PORT:00000011H STATUS 000DH => 0011H
Enter vm2002_send_dtmf_check
iTonePathControl(): NO PATH for 11H-> 0H, C0002H->C0002H
IOCS:ID=02DB,P1=00000011,P2=00000000,P3=00000000 -- Unknown mail ID
IOCS:ID=020F,P1=00000011,P2=00000000,P3=00000002 -- Unknown mail ID
*(INTER),ID:00000011H,P1:000C0002H,P2:00000000H,P3:00000810H
>>>> PORT:000C0002H STATUS 00A5H => 0011H
Enter vm2002_send_dtmf_check
Enter VmiDialbuff::transmitDial : dialData[*]
iTonePathControl(): NO PATH for C0002H->C0002H, 11H-> 0H
<<< recv0206.cpp(996) Invalid logical port [11H] >>>
IOCS:ID=0206,P1=00000011,P2=0000000D,P3=00000023,P4=00000002,P5=00000000 -- Unknown mail ID
*(EVENT),ID:00000000H,P1:00000011H,P2:00000001H,P3:00000008H
>>>> PORT:00000011H STATUS 0000H => 0002H
*(EVENT),ID:00000000H,P1:00000011H,P2:00000000H,P3:0000060EH
<<< cdetect.cpp(279) new cdetector::open() target port is 11 >>>
<<< cdetect.cpp(365) Enter cdetector::open(DT_DTMF,1,11H) >>>
<<< cdetect.cpp(594) iDetector is iBlockCenter (2)>>>
<<< cdetect.cpp(630) cdetect::open() Channel 140003H is opened for port 11H >>>
<<< cdetect.cpp(696) Enter cdetect::connect() >>>
idetectorCenter::detectorAssign idResource:2
*(EVENT),ID:00000000H,P1:000C0002H,P2:00000001H,P3:000009F9H
*(EVENT),ID:00000000H,P1:00880001H,P2:00000001H,P3:000009F9H
*(EVENT),ID:00000000H,P1:000C0002H,P2:00000000H,P3:00000016H
<<< idetect.cpp(985) iUnitDspCygnus::detectorReport() Resource#0 Released >>>
<<< idetect.cpp(978) iUnitDspCygnus::detectorReport() Resource#1 Assigned >>>
*(EVENT),ID:00000030H,P1:00000000H,P2:00000002H,P3:00000001H
<<< cdetect.cpp(1093) cdetector::mail() Released resource#0 >>>
*(EVENT),ID:00000030H,P1:00000001H,P2:00000000H,P3:00000001H
<<< cdetect.cpp(1085) cdetector::mail() Assigned resource#1 >>>
<<< idetect.cpp(978) iUnitDspCygnus::detectorReport() Resource#2 Assigned >>>
*(EVENT),ID:00000030H,P1:00000002H,P2:00000000H,P3:00000001H
<<< cdetect.cpp(1085) cdetector::mail() Assigned resource#2 >>>
Enter VmiDialbuff::transmitDial : dialData[*]
Enter VmiDialbuff::transmitDial : dialData[*]
<<< idetect.cpp(1174) iUnitDsp::dtmfDetected() Resource#2, Digit[*] >>>
== 19/MAR/2019, 12:1:23 ==
*(EVENT),ID:00000000H,P1:00140003H,P2:0000000BH,P3:0000000AH
*(EVENT),ID:00F00000H,P1:00000011H,P2:0000000BH,P3:000005F8H
<!> [chkStableStatus] Unknow Status [863] <!>
>>>> PORT:00000011H STATUS 0011H => 035FH
Enter VmiDialbuff::transmitDial : dialData[6]
<<< idetect.cpp(1174) iUnitDsp::dtmfDetected() Resource#2, Digit[6] >>>
*(EVENT),ID:00000000H,P1:00140003H,P2:00000006H,P3:0000000AH
*(EVENT),ID:00F00000H,P1:00000011H,P2:00000006H,P3:000005F8H
<!> [chkStableStatus] Unknow Status [863] <!>
Enter VmiDialbuff::transmitDial : dialData[0]
<<< idetect.cpp(1174) iUnitDsp::dtmfDetected() Resource#2, Digit[0] >>>
*(EVENT),ID:00000000H,P1:00140003H,P2:0000000AH,P3:0000000AH
*(EVENT),ID:00F00000H,P1:00000011H,P2:0000000AH,P3:000005F8H
>>>> PORT:00000011H STATUS 035FH => 0011H
IOCS:ID=020F,P1=00000011,P2=00000000,P3=00000002 -- Unknown mail ID
*(EVENT),ID:00000000H,P1:00000011H,P2:00000001H,P3:00000007H
>>>> PORT:00000011H STATUS 0002H => 0000H
*(EVENT),ID:00000000H,P1:00000011H,P2:00000001H,P3:00000008H
>>>> PORT:00000011H STATUS 0000H => 0002H
Enter VmiDialbuff::transmitDial : dialData[0]
<<< idetect.cpp(1174) iUnitDsp::dtmfDetected() Resource#2, Digit[0] >>>
== 19/MAR/2019, 12:1:24 ==
*(EVENT),ID:00000000H,P1:00140003H,P2:0000000AH,P3:0000000AH
*(EVENT),ID:00000000H,P1:00000011H,P2:00000000H,P3:00000001H
caps_service[11] #108, access=fff0 => NORMAL
>>>> PORT:00000011H STATUS 0002H => 000FH
*(EVENT),ID:00000000H,P1:00000011H,P2:00000000H,P3:00000001H
*(EVENT),ID:00000000H,P1:00000011H,P2:00000000H,P3:00000001H
>>>> PORT:00000011H STATUS 000FH => 0009H
Enter VmiDialbuff::transmitDial : dialData[2]
<<< idetect.cpp(1174) iUnitDsp::dtmfDetected() Resource#2, Digit[2] >>>
*(EVENT),ID:00000000H,P1:00140003H,P2:00000002H,P3:0000000AH
*(EVENT),ID:00000000H,P1:00000011H,P2:00000000H,P3:00000001H
>>>> PORT:00000011H STATUS 0009H => 000FH
*(EVENT),ID:00000000H,P1:00180002H,P2:00000007H,P3:00000022H
*(EVENT),ID:00000000H,P1:000C0002H,P2:00000007H,P3:00000022H[/i]