grafk
15.05.2009, 12:28
Здравствуйте. Столкнулся со следующей проблемой. Суть задачи в следующем:
1 есть ЦО в котором стоит АТС Nortel cs1k 5.5w
2 есть удалённый офис с TDA30 v 5.0.1.2
нужно что бы звонки между двумя этими АТС ходили по SIP.
Между этими офисами есть тунель. В TDA30 вставлена плата 4-Channel SIP Trunk Card KX-TDA3450 Firmware 2.000
У платы KX-TDA3450 LAN: 192.168.12.195/26 WAN: 192.168.12.130/26
Со стороны нортела ip: 192.168.100.211

Настройки KX-TDA3450:
SIP Telephony Settings - Basic (Channel:1)
Server Settings
Proxy Server <compulsory>: 192.168.100.211
Registration: Disable
Registration Timer(Offer): 3600
Registrar Server: 192.168.100.211
Dialed Number Settings
- Sending Dialed Number for Outgoing call
Dialed Number Format : National
- Receiving Dialed Number for Incoming call
Receiving Dialed Number Mode: "To" header
Receiving Dialed Number Validity Check: Disable
SIP Options
- PRACK ("100rel" option)
PRACK: Enable(Passive)
- Session Timer ("Timer" option)
Session Timer: Enable(Passive)
Session Timer (Offer): 180
Session Timer Method: re-INVITE

В итоге звонки хорошо проходят с tda30 на Нортел, в логах на tda30 при этом следущее:
10000000 DSP: ch=3 mode=SEQUENTIAL depth=0 var=0 cur.depth=100 lost=0 ratio=0 flush=0 overrun=0 underrun=8
10000000 SIP: receive from 192.168.100.211.5060 'SIP/2.0 200 OK'
10000000 SIP: send to 192.168.100.211.5060 'BYE sip:7512440@GoldenTelecom:5060;maddr=192.168.100.2 11;transport=udp;u
10000000 RTP: statistics: ** lost packets 0/626, jitter 15 **
10000000 SIP: send to 192.168.100.211.5060 'ACK sip:7512440@GoldenTelecom:5060;maddr=192.168.100.2 11;transport=udp;u
10000000 SIP: receive from 192.168.100.211.5060 'SIP/2.0 200 OK'
10000000 SIP: receive from 192.168.100.211.5060 'SIP/2.0 200 OK'
10000000 SIP: send to 192.168.100.211.5060 'PRACK sip:7512440@GoldenTelecom:5060;maddr=192.168.100.2 11;transport=udp
10000000 SIP: receive from 192.168.100.211.5060 'SIP/2.0 180 Ringing'
10000000 SIP: receive from 192.168.100.211.5060 'SIP/2.0 100 Trying'
10000000 SIP: send to 192.168.100.211.5060 'INVITE sip:7512440@192.168.100.211;user=phone SIP/2.0'
10000000 SIP: callee address is '<sip:7512440@192.168.100.211;user=phone>'
10000000 SIP: connect to IP-Phone-Service

А если звонки идут с нортела на tda30 то после того как со стороны tda30 берут трубку звонок сбрасывается, при этом в логах на tda30 следущее:

10000000 SIP: receive from 192.168.100.211.5060 'SIP/2.0 200 OK'
10000000 SIP: send to 192.168.100.211.5060 'BYE sip:440;phone-context=PrivateUnknown@GoldenTelecom:5060;maddr=19 2.16
20000000 SIP: SDP negociation imcomplete.
10000000 SIP: receive from 192.168.100.211.5060 'ACK sip:StPeter@192.168.12.130:5060 SIP/2.0'
10000000 SIP: send to 192.168.100.211.5060 'SIP/2.0 200 OK'
10000000 SIP: send to 192.168.100.211.5060 'SIP/2.0 200 OK'
10000000 SIP: receive from 192.168.100.211.5060 'PRACK sip:StPeter@192.168.12.130:5060 SIP/2.0'
10000000 SIP: send to 192.168.100.211.5060 'SIP/2.0 180 Ringing'
10000000 SIP: send to 192.168.100.211.5060 'SIP/2.0 100 Trying'
10000000 SIP: ** Remote ID is hidden. (cause='')
10000000 SIP: receive from 192.168.100.211.5060 'INVITE sip:716101;phone-context=RidanRu@GoldenTelecom:5060;maddr=19

Пробовал ловить снифером пакеты, когда звонок идёт с tda30 на нортел и всё хорошо то ловяться следующие пакеты
192.168.100.211.5060 > 192.168.12.130.5060: SIP, length: 512
192.168.100.211.5060 > 192.168.12.130.5060: SIP, length: 947
192.168.100.111.5541 > 192.168.12.130.5091: UDP, length 148
192.168.12.130.5090 > 192.168.100.111.5540: UDP, length 92
а если с нортела на tda30 когда сбрасываются звонки ловятся следующие пакеты:
192.168.100.211.5060 > 192.168.12.130.5060: SIP, length: 1472
192.168.100.211 > 192.168.12.130: udp
192.168.12.130.5060 > 192.168.100.211.5060: SIP, length: 404
192.168.12.130.5060 > 192.168.100.211.5060: SIP, length: 527
192.168.12.130.5060 > 192.168.100.211.5060: SIP, length: 707
192.168.100.211.5060 > 192.168.12.130.5060: SIP, length: 781
192.168.100.111.5405 > 192.168.12.130.5099: UDP, length 148
192.168.12.130 > 192.168.100.111: ICMP 192.168.12.130 udp port 5099 unreachable, length 36
192.168.100.111.5404 > 192.168.12.130.5098: UDP, length 32
192.168.100.111.5404 > 192.168.12.130.5098: UDP, length 32
192.168.12.130 > 192.168.100.111: ICMP 192.168.12.130 udp port 5098 unreachable, length 36

Как я понял из логов они не могут договориться по каким портам передавать голос, или что то другое....не подскажите в чём можеть быть проблема и как её решить?
Заранее спасибо

Jurri
15.05.2009, 14:23
В принципе Sip нужен для подключения к провайдеру. Кривые звонки будут, нужно завязывать Co на EXT и наоборот.
H.323 плат у вас случайно нет?

grafk
15.05.2009, 15:12
В принципе Sip нужен для подключения к провайдеру. Кривые звонки будут, нужно завязывать Co на EXT и наоборот.
H.323 плат у вас случайно нет?

К сожалению нет, хотелось бы конечно разобраться всё же с SIP.

Jurri
15.05.2009, 17:17
GoldenTelecom - это откуда лезит непонятно.

Registration: Disable
а зачем тогда
Registrar Server: 192.168.100.211

Лог со снифера вообще странноватый, не видно номера перед IP.
К сожелению SIP на TDA30 не доводилось настраивать.

Звонки для входа На TDA прописаны в DDI или MSN.

grafk
15.05.2009, 18:08
GoldenTelecom - это откуда лезит непонятно.

Registration: Disable
а зачем тогда
Registrar Server: 192.168.100.211

Лог со снифера вообще странноватый, не видно номера перед IP.
К сожелению SIP на TDA30 не доводилось настраивать.

Звонки для входа На TDA прописаны в DDI или MSN.

Ну да согласен Registration Server лишнее, уберу. DDI пытался прописать но они не отрабатывают, звонок всегда уходит к оператору, если в DIL конечно не прописать другой номер.

jetc
16.05.2009, 08:16
А если звонки идут с нортела на tda30 то после того как со стороны tda30 берут трубку звонок сбрасывается, при этом в логах на tda30 следущее:

20000000 SIP: SDP negociation imcomplete.


Поэтому надо посмотреть, какие кодеки с каким payload открыты на вашей стороне, согласовать с удаленной, и проверить сниффером содержимое SDP.

grafk
18.05.2009, 13:59
Поэтому надо посмотреть, какие кодеки с каким payload открыты на вашей стороне, согласовать с удаленной, и проверить сниффером содержимое SDP.

к сожалению на нортеле в данный момент не могу что либо менять, это будет возможно вечером, но могу выложить подробный лог снифера с SDP содержимым.

jetc
18.05.2009, 23:26
к сожалению на нортеле в данный момент не могу что либо менять, это будет возможно вечером, но могу выложить подробный лог снифера с SDP содержимым.

И что - не работает ?
В вашем логе есть UDP пакеты с номерами портов, указанными в SDP.

grafk
19.05.2009, 09:17
И что - не работает ?
В вашем логе есть UDP пакеты с номерами портов, указанными в SDP.

Не работает. UDP пакеты то есть, от нортела, а вот в ответ ему приходит что тот порт на который он шлёт данные, не доступен.

12:03:11.164742 IP (tos 0x0, ttl 127, id 0, offset 0, flags [DF], proto: UDP (17), length: 176) 192.168.100.111.5451 > 192.168.12.130.5027: UDP, length 148
12:03:11.190389 IP (tos 0x0, ttl 253, id 30494, offset 0, flags [none], proto: ICMP (1), length: 56) 192.168.12.130 > 192.168.100.111: ICMP 192.168.12.130 udp port 5027 unreachable, length 36

Old Chap
19.05.2009, 10:46
192.168.100.111.5405 > 192.168.12.130.5099: UDP, length 148
192.168.12.130 > 192.168.100.111: ICMP 192.168.12.130 udp port 5099 unreachable, length 36
192.168.100.111.5404 > 192.168.12.130.5098: UDP, length 32
192.168.100.111.5404 > 192.168.12.130.5098: UDP, length 32
192.168.12.130 > 192.168.100.111: ICMP 192.168.12.130 udp port 5098 unreachable, length 36
IMHO стоит разобраться почему на стороне панасоника эти порты unreachable.

grafk
19.05.2009, 11:41
IMHO стоит разобраться почему на стороне панасоника эти порты unreachable.

Согласен, собственно я и пытаюсь это сделать, можно было бы конечно подумать на пролеммы сети, firewall и прочее но когда звонок идёт с TDA30 пакеты ходят по этим же портам в полне благополучно. Настораживает запись в логе панаса 20000000 SIP: SDP negociation imcomplete.

А ещё непонятно почему в пакете с описание SDP от панаса приходит a=rtpmap:18 G729/8000 с указанием правильного кодека а от нортела a=rtpmap:101 telephone-event/8000. Может в этом дело?

Mike_K
19.05.2009, 15:35
a=rtpmap:101 telephone-event/8000 это Media Attrebute, который должна понимать KX-TDA30, по крайней мере KX-TDE точно понимает.
А вот насчёт порта 5099, KX-TDA30 понимает только порт 5060.

grafk
19.05.2009, 15:41
a=rtpmap:101 telephone-event/8000 это Media Attrebute, который должна понимать KX-TDA30, по крайней мере KX-TDE точно понимает.
А вот насчёт порта 5099, KX-TDA30 понимает только порт 5060.

Не совсем так, когда звонки идут с tda30, и всё хорошо, т.е. звонок проходит и абоненты друг друга слышат, снифером ловятся следующие пакеты
192.168.100.111.5541 > 192.168.12.130.5091: UDP, length 148
192.168.12.130.5090 > 192.168.100.111.5540: UDP, length 92
видно что пакеты ходят не по 5060

Mike_K
19.05.2009, 17:28
Так это же UDP пакеты ходят на это порт, после того как АТС договорились об этом SDP.
Можете выложить трассировку SDP неудачного звонка, сделанную Wireshark или Ethereal?

grafk
20.05.2009, 10:02
Так это же UDP пакеты ходят на это порт, после того как АТС договорились об этом SDP.
Можете выложить трассировку SDP неудачного звонка, сделанную Wireshark или Ethereal?

Ну да, так и там те же UDP пакеты. Трасировка в вложении.

Mike_K
20.05.2009, 11:48
Разъединение происходит по причине того, что Ip 192.168.100.211 получил отчет в зашифровоном виде, к которому у него нет ключа для декодирования. Ip 192.168.100.211 отвечает сообщением 493.
Ip 192.168.12.130 в ответ на то, что не смогли договориться отсылает сообщение о нормальном разъединении.

Как устранить и что делать есть в RFC3261 п.21.4.28 - описание сообщения 493 и п.23.2 - описание что делать. Там три листа на английском, мелким шрифтом. У меня нет особого желания переводить.
Хотя, чем дело закончится очень интересно.

grafk
20.05.2009, 14:00
Разъединение происходит по причине того, что Ip 192.168.100.211 получил отчет в зашифровоном виде, к которому у него нет ключа для декодирования. Ip 192.168.100.211 отвечает сообщением 493.
Ip 192.168.12.130 в ответ на то, что не смогли договориться отсылает сообщение о нормальном разъединении.

Как устранить и что делать есть в RFC3261 п.21.4.28 - описание сообщения 493 и п.23.2 - описание что делать. Там три листа на английском, мелким шрифтом. У меня нет особого желания переводить.
Хотя, чем дело закончится очень интересно.

Спасибо за информаци, но я не заметил нигде в логах такой ошибки, возможно вас запутал номер с которого я звонил с нортела, это был как раз 493....я звонил с нортела с номера 493 на панас на номер 716108.

Mike_K
20.05.2009, 14:19
Возможно. У вас распределение в TDA30 по DDI?

Mike_K
20.05.2009, 14:32
Можете выложить Dssys TDA30?
Установки шлюза не нужны, только внутренности TDA30.

grafk
20.05.2009, 15:11
Возможно. У вас распределение в TDA30 по DDI?

Нет, по DDI пока не отрабатывает, оставил пока по DIL, с DDI я решил разобраться позднее. Dssys это файл самой АТС, а config это файл настройки платы sip

Mike_K
20.05.2009, 18:20
Да, с сообщением 493 я ошибся.
В SDP ни чего крименального найти не могу.
Единственно проверьте пингуется ли IP 192.168.100.110 из той подсети, где находится TDA30. В своём SDP IP 192.168.100.211 просит слать UDP на порт 5420 IP 192.168.100.110.

grafk
20.05.2009, 20:25
Да, с сообщением 493 я ошибся.
В SDP ни чего крименального найти не могу.
Единственно проверьте пингуется ли IP 192.168.100.110 из той подсети, где находится TDA30. В своём SDP IP 192.168.100.211 просит слать UDP на порт 5420 IP 192.168.100.110.

Действительно в SDP 192.168.100.110 Хм, странно...почему когда я ловлю снифером пакеты, я вижу что пакеты идут с 192.168.100.111 :( ....

12:03:11.164742 IP (tos 0x0, ttl 127, id 0, offset 0, flags [DF], proto: UDP (17), length: 176) 192.168.100.111.5451 > 192.168.12.130.5027: UDP, length 148
12:03:11.190389 IP (tos 0x0, ttl 253, id 30494, offset 0, flags [none], proto: ICMP (1), length: 56) 192.168.12.130 > 192.168.100.111: ICMP 192.168.12.130 udp port 5027 unreachable, length 36

зачем нортел пытается обмануть панас :) возможно в этом и есть причина. Я с самой SIP карты в TDA30 пинговал оба эти адреса, оба пингуются.

Mike_K
20.05.2009, 21:02
Там ещё в INVITE от Nortel есть не известная мне строка. В Histore, по моему (я сейчас дома, точно не помню). Что это такое. я не знаю, но на соединение влиять не должно.

jetc
21.05.2009, 07:37
Так вы сравнили настройки CS1K и ТДА ?
В частности, очень интересно - какой Payload стоит на стороне CS1K для G729.
Для эксперимента можете попробовать последовательно поменять его со своей стороны на 20 и 10.

grafk
25.05.2009, 08:35
Так вы сравнили настройки CS1K и ТДА ?
В частности, очень интересно - какой Payload стоит на стороне CS1K для G729.
Для эксперимента можете попробовать последовательно поменять его со своей стороны на 20 и 10.

Codec Name G729A
Voice payload size 30 ( ms/frame )
Voice playout (jitter buffer) nominal delay 60
Voice playout (jitter buffer) maximum delay 120

Попробую вечером поменять payload

grafk
26.05.2009, 20:07
Пробовал менять последовательно Payload результат тот же.

Зато заметил одну деталь, когда звонок хорошо проходит с TDA30 на Nortel в SDP пакетах от TDA30 - Message Body: Session Description Protocol. И в SDP пакетах которые от Nortel - Message Body: Session Description Protocol. А когда звонок не проходит, т.е. когда звонок идет от Nortel на TDA30, в SDP пакетах Nortel - Message Body:MIME Multipart Media Encapsulation, Type: multipart/mixed, Boundary: "unique-boundary-1" а в ответ от TDA30 - Message Body: Session Description Protocol.

Похоже TDA30 не понимает MIME type который посылает Nortel. Тогда вопрос как заставить Nortel послыть SDP пакеты в понятном для TDA30 формате, или как заставить TDA30 понимать такие пакеты?

Mike_K
26.05.2009, 23:02
Закрытый ключ к MIME от Меридиана приходит вроди бы в правильном виде, но вот заголовок к нему уж явно специфический, от производителя. Не нашёл ни в одной спецификации подобного заголовка или хотя бы каких либо пояснений об отклонении от стандарта.

grafk
29.05.2009, 15:57
Может есть какой гуру по Nortel который мог бы пролить свет в этом тёмном деле?

Urri
29.05.2009, 16:28
Шифрование на CS1000 выключено?

Ocean
29.05.2009, 22:35
Шифрование на CS1000 выключено?

Какое там может быть шифрование на sip транках... tls ? Так для этого sps нужен, не думаю что он там есть :)

jetc
30.05.2009, 09:49
Какое там может быть шифрование на sip транках... tls ?

Media security.

grafk
01.06.2009, 08:11
Media security.

Было бы здорово если бы вы приблизительно сказали где это можно посмотреть.

jetc
01.06.2009, 10:31
Было бы здорово если бы вы приблизительно сказали где это можно посмотреть.

Было бы здорово, если бы вы сразу приблизительно поискали по этим словам в документации.

grafk
02.06.2009, 15:29
Media security.

Действительно была включена эта штука, отключил. не помогло :(

Mike_K
02.06.2009, 15:37
Можно трассировку посмотреть при этой отключенной штуке.

jetc
02.06.2009, 16:22
Действительно была включена эта штука, отключил. не помогло :(

В каком месте отключали ?

grafk
03.06.2009, 09:06
В каком месте отключали ?

на транках и в полиси

grafk
03.06.2009, 15:37
Можно трассировку посмотреть при этой отключенной штуке.

Я вечером сделаю.

grafk
09.06.2009, 14:22
нашёл в форумах подобную проблемму при связке Nortel CS1000 и asterisk.

суть в том что Nortel CS1000 создаёт multipart SDP которые tda30 и asterisk не понимают, но для asterisk был выпущен patch.

Но самое инетересно что Nortel CS1000 может слать обычные SDP, если инициатором связи является TDA30.

Есть ли возможность заставить Nortel CS1000 слать не multipart SDP когда он является инициатором звонка?

grafk
08.07.2009, 16:34
Нашёл временое решение этой задачи, поставил asterisk 1.6.0.10 работает. Но было бы приятнее конечно без этого промежуточного звена работать.

Mike_K
08.07.2009, 16:37
Пожалуйста, выложите трассировку на входе asterisk.
Очень интересно сравнить.

grafk
09.07.2009, 08:10
Пожалуйста, выложите трассировку на входе asterisk.
Очень интересно сравнить.

http://www.sharemania.ru/0153345

Mike_K
09.07.2009, 14:09
Спасибо, скачал.
Нет ли возможности выложить трассировку в формате *.pcap?
Уж очень тяжело разбираться без фильтров и дополнительных возможностей Wireshark.

grafk
10.07.2009, 09:25
Спасибо, скачал.
Нет ли возможности выложить трассировку в формате *.pcap?
Уж очень тяжело разбираться без фильтров и дополнительных возможностей Wireshark.

С этим немного сложнее, я постараюсь сегодня вечером или в понедельник сделать.