VIDEOCHAT  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

Не работает видео между телефонами Cisco 9951 и Grandstream

Новичком считается только что прочитавший «Астериск - будущее телефонии»
http://asterisk.ru/knowledgebase/books
и пытающийся сделать большее

Модераторы: april22, Zavr2008

bezerke
Сообщения: 2
Зарегистрирован: 21 окт 2024, 17:08

Не работает видео между телефонами Cisco 9951 и Grandstream

Сообщение bezerke »

Здравствуйте! Прошу помощи в вопросе связки телефонов cisco и grandstream.
Имею asterisk версии 16.4.0 с патчем usecallmanager и с прикрученным FreePBX 16.
На нем зарегистрировано два телефона Cisco 9951 и Grandstream GXV3480.
Проблема с прохождением видео. Когда Cisco звонит на Grandstream - видео работает, когда с Grandstream звоню на Cisco видео не работает.
Думаю, проблема в моменте где телефон отправляет invite, а именно где передаются параметры SDP, и что Cisco не хочет принимать данные, которые ей отправляет Grandstream

Лог рабочего звонка
PRIME_BBCODE_SPOILER_SHOW PRIME_BBCODE_SPOILER:
INVITE sip:1500@10.176.16.87:5070 SIP/2.0
Via: SIP/2.0/UDP 10.101.101.11:5060;branch=z9hG4bK2b27cf2a
Max-Forwards: 70
From: "77767 Cisco" <sip:77767@10.101.101.11>;tag=as280f4216
To: <sip:1500@10.176.16.87:5070>
Contact: <sip:77767@10.101.101.11:5060>
Call-ID: 7d15900407146ea8355171d84c6f22c3@10.101.101.11:5060
CSeq: 101 INVITE
User-Agent: FPBX-16.0.40.10(16.4.0)
Date: Mon, 21 Oct 2024 14:24:11 GMT
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH, MESSAGE
Supported: replaces,timer
P-Asserted-Identity: "77767 Cisco" <sip:77767@10.101.101.11>
Content-Type: application/sdp
Content-Length: 531

v=0
o=root 1752331622 1752331622 IN IP4 10.101.101.11
s=Asterisk PBX 16.4.0
c=IN IP4 10.101.101.11
b=CT:512
t=0 0
m=audio 19174 RTP/AVP 0 8 3 111 9 101
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:3 GSM/8000
a=rtpmap:111 G726-32/8000
a=rtpmap:9 G722/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
a=maxptime:150
a=sendrecv
m=video 10254 RTP/AVP 99 103
a=rtpmap:99 H264/90000
a=fmtp:99 packetization-mode=0;level-asymmetry-allowed=1;profile-level-id=42801E
a=rtpmap:103 h263-1998/90000
a=sendrecv

SIP/2.0 100 Trying
Via: SIP/2.0/UDP 10.101.101.11:5060;branch=z9hG4bK2b27cf2a
From: "77767 Cisco" <sip:77767@10.101.101.11>;tag=as280f4216
To: <sip:1500@10.176.16.87:5070>
Call-ID: 7d15900407146ea8355171d84c6f22c3@10.101.101.11:5060
CSeq: 101 INVITE
Supported: replaces, path, eventlist
User-Agent: Grandstream GXV3480 1.0.3.4
Allow: INVITE, ACK, OPTIONS, CANCEL, BYE, SUBSCRIBE, NOTIFY, INFO, REFER, UPDATE, MESSAGE
Content-Length: 0


SIP/2.0 180 Ringing
Via: SIP/2.0/UDP 10.101.101.11:5060;branch=z9hG4bK2b27cf2a
From: "77767 Cisco" <sip:77767@10.101.101.11>;tag=as280f4216
To: <sip:1500@10.176.16.87:5070>;tag=2084028757
Call-ID: 7d15900407146ea8355171d84c6f22c3@10.101.101.11:5060
CSeq: 101 INVITE
Contact: <sip:1500@10.176.16.87:5070>
Supported: replaces, path, eventlist, timer
User-Agent: Grandstream GXV3480 1.0.3.4
Allow-Events: talk, hold
Allow: INVITE, ACK, OPTIONS, CANCEL, BYE, SUBSCRIBE, NOTIFY, INFO, REFER, UPDATE, MESSAGE
Content-Length: 0

SIP/2.0 200 OK
Via: SIP/2.0/UDP 10.101.101.11:5060;branch=z9hG4bK2b27cf2a
From: "77767 Cisco" <sip:77767@10.101.101.11>;tag=as280f4216
To: <sip:1500@10.176.16.87:5070>;tag=2084028757
Call-ID: 7d15900407146ea8355171d84c6f22c3@10.101.101.11:5060
CSeq: 101 INVITE
Contact: <sip:1500@10.176.16.87:5070>
Supported: replaces, path, eventlist, timer, whiteboard
User-Agent: Grandstream GXV3480 1.0.3.4
Allow: INVITE, ACK, OPTIONS, CANCEL, BYE, SUBSCRIBE, NOTIFY, INFO, REFER, UPDATE, MESSAGE
Content-Type: application/sdp
Content-Length: 444

v=0
o=1500 8000 8000 IN IP4 10.176.16.87
s=SIP Call
c=IN IP4 10.176.16.87
t=0 0
m=audio 50040 RTP/AVP 9 0 8 101
a=rtpmap:9 G722/8000
a=ptime:20
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
a=sendrecv
m=video 50042 RTP/AVP 99
b=AS:2240
a=rtpmap:99 H264/90000
a=fmtp:99 profile-level-id=42801E;packetization-mode=0;max-mbps=40500;max-fs=1620
a=content:main
a=label:11
a=sendrecv

ACK sip:1500@10.176.16.87:5070 SIP/2.0
Via: SIP/2.0/UDP 10.101.101.11:5060;branch=z9hG4bK28e1650a
Max-Forwards: 70
From: "77767 Cisco" <sip:77767@10.101.101.11>;tag=as280f4216
To: <sip:1500@10.176.16.87:5070>;tag=2084028757
Contact: <sip:77767@10.101.101.11:5060>
Call-ID: 7d15900407146ea8355171d84c6f22c3@10.101.101.11:5060
CSeq: 101 ACK
User-Agent: FPBX-16.0.40.10(16.4.0)
Content-Length: 0
INFO sip:77767@10.101.101.11:5060 SIP/2.0
Via: SIP/2.0/UDP 10.176.16.87:5070;branch=z9hG4bK861205342;rport
From: <sip:1500@10.176.16.87:5070>;tag=2084028757
To: "77767 Cisco" <sip:77767@10.101.101.11>;tag=as280f4216
Call-ID: 7d15900407146ea8355171d84c6f22c3@10.101.101.11:5060
CSeq: 102 INFO
Contact: <sip:1500@10.176.16.87:5070>
Max-Forwards: 70
Supported: replaces, path, eventlist, timer
User-Agent: Grandstream GXV3480 1.0.3.4
Allow: INVITE, ACK, OPTIONS, CANCEL, BYE, SUBSCRIBE, NOTIFY, INFO, REFER, UPDATE, MESSAGE
Content-Type: application/media_control+xml
Content-Length: 164

<?xml version="1.0" encoding="utf-8" ?><media_control> <vc_primitive> <to_encoder> <picture_fast_update/> </to_encoder> </vc_primitive></media_control>[!sip]
17:24:12.935436 IP (tos 0x60, ttl 64, id 12141, offset 0, flags [none], proto UDP (17), length 494)
test_coro4.sip > 10.176.16.87.vtsas: [bad udp cksum 0x8c62 -> 0x2dd8!] SIP, length: 466
SIP/2.0 200 OK
Via: SIP/2.0/UDP 10.176.16.87:5070;branch=z9hG4bK861205342;rport;received=10.176.16.87
From: <sip:1500@10.176.16.87:5070>;tag=2084028757
To: "77767 Cisco" <sip:77767@10.101.101.11>;tag=as280f4216
Call-ID: 7d15900407146ea8355171d84c6f22c3@10.101.101.11:5060
CSeq: 102 INFO
Server: FPBX-16.0.40.10(16.4.0)
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH, MESSAGE
Supported: replaces,timer
Content-Length: 0
А тут, когда звоню с Grandstream на Cisco
Лог нерабочего звонка
PRIME_BBCODE_SPOILER_SHOW PRIME_BBCODE_SPOILER:
17:29:18.655987 IP (tos 0x68, ttl 60, id 47168, offset 0, flags [+], proto UDP (17), length 1420)
10.176.16.87.vtsas > test_coro4.sip: SIP, length: 1392
INVITE sip:77767@10.101.101.11 SIP/2.0
Via: SIP/2.0/UDP 10.176.16.87:5070;branch=z9hG4bK1837618198;rport
From: "1500" <sip:1500@10.101.101.11>;tag=1100680165
To: <sip:77767@10.101.101.11>
Call-ID: 1294661338-5070-13@BA.BHG.BG.IH
CSeq: 120 INVITE
Contact: "1500" <sip:1500@10.176.16.87:5070>
Max-Forwards: 70
User-Agent: Grandstream GXV3480 1.0.3.4
Privacy: none
P-Preferred-Identity: "1500" <sip:1500@10.101.101.11>
P-Access-Network-Info: IEEE-EUI-48;eui-48-addr=08-17-35-65-2A-43
P-Emergency-Info: IEEE-EUI-48;eui-48-addr=EC-74-D7-09-94-54
Supported: replaces, path, eventlist, timer, whiteboard
Allow: INVITE, ACK, OPTIONS, CANCEL, BYE, SUBSCRIBE, NOTIFY, INFO, REFER, UPDATE, MESSAGE
Content-Type: application/sdp
Accept: application/sdp, application/dtmf-relay
Content-Length: 1157

v=0
o=1500 8000 8000 IN IP4 10.176.16.87
s=SIP Call
c=IN IP4 10.176.16.87
t=0 0
m=audio 50040 RTP/AVP 9 0 8 101
a=rtpmap:9 G722/8000
a=ptime:20
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
a=sendrecv
a=rtcp:50041 IN IP4 10.176.16.87
m=video 50042 RTP/AVP 99 96 97 120 98 100 101
b=AS:2240
a=rtpmap:99 H264/90000
a=fmtp:99 profile-level-id=640028;packetization-mode=1
a=rtpmap:96 H264/90000
a=fmtp:96 profile-level-id=4D0028;packetization-mode=1
a=rtpmap:97 H264/90000
a=fmtp:97 profile-level-id=428028;packetization-m[!sip]
17:29:18.656224 IP (tos 0x60, ttl 64, id 28634, offset 0, flags [none], proto UDP (17), length 557)
test_coro4.sip > 10.176.16.87.vtsas: [bad udp cksum 0x8ca1 -> 0x69da!] SIP, length: 529
SIP/2.0 401 Unauthorized
Via: SIP/2.0/UDP 10.176.16.87:5070;branch=z9hG4bK1837618198;received=10.176.16.87;rport=5070
From: "1500" <sip:1500@10.101.101.11>;tag=1100680165
To: <sip:77767@10.101.101.11>;tag=as140181a4
Call-ID: 1294661338-5070-13@BA.BHG.BG.IH
CSeq: 120 INVITE
Server: FPBX-16.0.40.10(16.4.0)
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH, MESSAGE
Supported: replaces,timer
WWW-Authenticate: Digest algorithm=MD5, realm="asterisk", nonce="11990f4a"
Content-Length: 0

17:29:18.679082 IP (tos 0x68, ttl 60, id 47171, offset 0, flags [none], proto UDP (17), length 310)
10.176.16.87.vtsas > test_coro4.sip: [udp sum ok] SIP, length: 282
ACK sip:77767@10.101.101.11 SIP/2.0
Via: SIP/2.0/UDP 10.176.16.87:5070;branch=z9hG4bK1837618198;rport
From: "1500" <sip:1500@10.101.101.11>;tag=1100680165
To: <sip:77767@10.101.101.11>;tag=as140181a4
Call-ID: 1294661338-5070-13@BA.BHG.BG.IH
CSeq: 120 ACK
Content-Length: 0
17:29:18.701384 IP (tos 0x68, ttl 60, id 47172, offset 0, flags [+], proto UDP (17), length 1420)
10.176.16.87.vtsas > test_coro4.sip: SIP, length: 1392
INVITE sip:77767@10.101.101.11 SIP/2.0
Via: SIP/2.0/UDP 10.176.16.87:5070;branch=z9hG4bK1261399880;rport
From: "1500" <sip:1500@10.101.101.11>;tag=1100680165
To: <sip:77767@10.101.101.11>
Call-ID: 1294661338-5070-13@BA.BHG.BG.IH
CSeq: 121 INVITE
Contact: "1500" <sip:1500@10.176.16.87:5070>
Authorization: Digest username="1500", realm="asterisk", nonce="11990f4a", uri="sip:77767@10.101.101.11", response="63f61276723e85e56ef6aed76a569248", algorithm=MD5
Max-Forwards: 70
User-Agent: Grandstream GXV3480 1.0.3.4
Privacy: none
P-Preferred-Identity: "1500" <sip:1500@10.101.101.11>
P-Access-Network-Info: IEEE-EUI-48;eui-48-addr=08-17-35-65-2A-43
P-Emergency-Info: IEEE-EUI-48;eui-48-addr=EC-74-D7-09-94-54
Supported: replaces, path, eventlist, timer, whiteboard
Allow: INVITE, ACK, OPTIONS, CANCEL, BYE, SUBSCRIBE, NOTIFY, INFO, REFER, UPDATE, MESSAGE
Content-Type: application/sdp
Accept: application/sdp, application/dtmf-relay
Content-Length: 1157

v=0
o=1500 8000 8000 IN IP4 10.176.16.87
s=SIP Call
c=IN IP4 10.176.16.87
t=0 0
m=audio 50040 RTP/AVP 9 0 8 101
a=rtpmap:9 G722/8000
a=ptime:20
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
a=sendrecv
a=rtcp:50041 IN IP4 10.176.16.87
m=video 50042 RTP/AVP 99 96 97 120 98 100 101
b=AS:2240
a=rtpmap:99 H264/90000
a=fmtp:99 profile-level-id=640028;packetiza[!sip]
17:29:18.705698 IP (tos 0x60, ttl 64, id 28652, offset 0, flags [none], proto UDP (17), length 538)
test_coro4.sip > 10.176.16.87.vtsas: [bad udp cksum 0x8c8e -> 0xfc87!] SIP, length: 510
SIP/2.0 100 Trying
Via: SIP/2.0/UDP 10.176.16.87:5070;branch=z9hG4bK1261399880;received=10.176.16.87;rport=5070
From: "1500" <sip:1500@10.101.101.11>;tag=1100680165
To: <sip:77767@10.101.101.11>
Call-ID: 1294661338-5070-13@BA.BHG.BG.IH
CSeq: 121 INVITE
Server: FPBX-16.0.40.10(16.4.0)
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH, MESSAGE
Supported: replaces,timer
Session-Expires: 1800;refresher=uas
Contact: <sip:77767@10.101.101.11:5060>
Content-Length: 0

17:29:18.726192 IP (tos 0x60, ttl 64, id 28660, offset 0, flags [none], proto UDP (17), length 628)
test_coro4.sip > 10.176.16.87.vtsas: [bad udp cksum 0x8ce8 -> 0xf1fa!] SIP, length: 600
SIP/2.0 180 Ringing
Via: SIP/2.0/UDP 10.176.16.87:5070;branch=z9hG4bK1261399880;received=10.176.16.87;rport=5070
From: "1500" <sip:1500@10.101.101.11>;tag=1100680165
To: <sip:77767@10.101.101.11>;tag=as69c636d7
Call-ID: 1294661338-5070-13@BA.BHG.BG.IH
CSeq: 121 INVITE
Server: FPBX-16.0.40.10(16.4.0)
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH, MESSAGE
Supported: replaces,timer
Session-Expires: 1800;refresher=uas
Contact: <sip:77767@10.101.101.11:5060>
P-Asserted-Identity: "77767 Cisco (Available)" <sip:77767@10.101.101.11>
Content-Length: 0
SIP/2.0 200 OK
Via: SIP/2.0/UDP 10.176.16.87:5070;branch=z9hG4bK1261399880;received=10.176.16.87;rport=5070
From: "1500" <sip:1500@10.101.101.11>;tag=1100680165
To: <sip:77767@10.101.101.11>;tag=as69c636d7
Call-ID: 1294661338-5070-13@BA.BHG.BG.IH
CSeq: 121 INVITE
Server: FPBX-16.0.40.10(16.4.0)
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH, MESSAGE
Supported: replaces,timer
Session-Expires: 1800;refresher=uas
Contact: <sip:77767@10.101.101.11:5060>
P-Asserted-Identity: "77767" <sip:77767@10.101.101.11>
Content-Type: application/sdp
Require: timer
Content-Length: 443

v=0
o=root 498253844 498253844 IN IP4 10.101.101.11
s=Asterisk PBX 16.4.0
c=IN IP4 10.101.101.11
b=CT:512
t=0 0
m=audio 19326 RTP/AVP 0 8 9 101
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:9 G722/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
a=maxptime:150
a=sendrecv
m=video 16426 RTP/AVP 99
a=rtpmap:99 H264/90000
a=fmtp:99 packetization-mode=1;profile-level-id=640028
a=sendrecv
m=application 0 UDP/BFCP *
17:29:20.050657 IP (tos 0x68, ttl 60, id 47534, offset 0, flags [none], proto UDP (17), length 548)
10.176.16.87.vtsas > test_coro4.sip: [udp sum ok] SIP, length: 520
ACK sip:77767@10.101.101.11:5060 SIP/2.0
Via: SIP/2.0/UDP 10.176.16.87:5070;branch=z9hG4bK415762904;rport
From: "1500" <sip:1500@10.101.101.11>;tag=1100680165
To: <sip:77767@10.101.101.11>;tag=as69c636d7
Call-ID: 1294661338-5070-13@BA.BHG.BG.IH
CSeq: 121 ACK
Contact: <sip:1500@10.176.16.87:5070>
Max-Forwards: 70
Supported: replaces, path, eventlist, timer
User-Agent: Grandstream GXV3480 1.0.3.4
Allow: INVITE, ACK, OPTIONS, CANCEL, BYE, SUBSCRIBE, NOTIFY, INFO, REFER, UPDATE, MESSAGE
Content-Length: 0
Пытаюсь скорректировать ответ, который Grandstream отправляет при звонке. Для этого пробовал добавить следующие параметры в sip_custom_post.conf по типу.

Код: Выделить всё

[for_grandstream](!)
video_fmtp=profile-level-id=42801E\;packetization-mode=0\;level-asymmetry-allowed=1 
video_btias=1000000
video_imageattr=recv [x=640,y=480,q=0.50]

[1500](for_grandstream)
type=friend
Но ничего не помогло.
Думаю, что, как-то надо вручную указать параметры профиля для кодека h264, если я все правильно понимаю, но, пока не могу понять какие. Может кто сталкивался и может помочь?
ded
Сообщения: 15601
Зарегистрирован: 26 авг 2010, 19:00

Re: Не работает видео между телефонами Cisco 9951 и Grandstr

Сообщение ded »

Скорректировать инвайт так не получится. Астериск не транскодит видео, и не может по пути через себя менять параметры видеопотока. Видео между этими телефонами у вас завязывается только по профилю 42801E
a=rtpmap:99 H264/90000
a=fmtp:99 profile-level-id=42801E;packetization-mode=0;max-mbps=40500;max-fs=1620
В обратную же сторону Grandstream отправляет в инвайте свои предпочтения, три профиля, в порядке убывания:
a=rtpmap:99 H264/90000
a=fmtp:99 profile-level-id=640028;packetization-mode=1
a=rtpmap:96 H264/90000
a=fmtp:96 profile-level-id=4D0028;packetization-mode=1
a=rtpmap:97 H264/90000
a=fmtp:97 profile-level-id=428028;packetization-m[!sip]
При прохождении через Астериск к цискофону уже отправляются данные только одного профиля:
a=rtpmap:99 H264/90000
a=fmtp:99 packetization-mode=1;profile-level-id=640028
но это не 42801E, который понимает цыскофон, и ясно что ваш шаблон

Код: Выделить всё

[for_grandstream](!)
video_fmtp=profile-level-id=42801E\;packetization-mode=0\;level-asymmetry-allowed=1
тут не работает. А если бы даже и сработал - понятно, что информация по профилю ложная: Отправляется три предложения,по ходу переформатится в одно - 640028,рое Cisco 9951 не понимает.

Что можно сделать: в самом телефоне Grandstream запретить все профили кроме 42801E. И тогда видео завяжется.
bezerke
Сообщения: 2
Зарегистрирован: 21 окт 2024, 17:08

Re: Не работает видео между телефонами Cisco 9951 и Grandstr

Сообщение bezerke »

Большое спасибо за ваш ответ! Все заработало!
Уточню только, что, еще дополнительно нужно было подправить параметр packetization mode со стороны Grandstream.
Cisco хочет packetization-mode=0 , а grandstream шлет 1. Со стороны Grandstream эта настройка выглядит как
Packetization Mode = Single NAT unit mode
Отправлю скриншоты своих настроек во вложении, если кому понадобится. Остальные "по умолчанию". В целом, еще можно поиграться, главные параметры это Packetization Mode, Image Size, h.264 Profile Type и Presentation h.264 Profile Type

Пока столкнулся со следующей проблемой, если телефон находится «далеко» - не сразу включается видео, но это уже мелочи. Когда телефоны в одной подсети находятся – отклик почти «мгновенный»
Вложения
Grandstream_setting.png
Ответить