Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Администрирование Web серверов и Web служб > Выбор кодека в протоколе SIP


Автор: umkasumka 24.9.2008, 12:18
Доброго времени суток.
Подскажите пожалуйста как происходит выбор кодека в протоколе SIP. Насколько я понял такой список в пакете INVITE

m=audio 5020 RTP/AVP 0 8 4 18 2 97 15 102 101
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:4 G723/8000
a=rtpmap:18 G729/8000
a=rtpmap:2 G726-32/8000
a=rtpmap:97 iLBC/8000
a=fmtp:97 mode=20
a=rtpmap:15 G728/8000
a=rtpmap:102 G729E/8000
a=rtpmap:101 telephone-event/8000
a=ptime:20
a=sendrecv

Говорит о том какие кодеки может использовать сторона отославшая пакет INVITE.
Аналогичный список в ответе "200 OK" говорит какие кодеки будут использовать для передачи.
И первый кодек в списке имеет максимальный приоритет на использование. Тоесть в моем примере это PCMU/8000.
Такую мою догадку подтвердили(отснифирил) на практике некоторые голосовые болтали.
Однако некоторые в том числе ICQ утверждают кодек определенно подругому.
Тыкните меня пожайлуста в то место где действительно происходит утверждение кодека.
Заранее благодарен, оч. надеюсь на вашу помощь.

Автор: marykone 25.9.2008, 07:49
Цитата(umkasumka @  24.9.2008,  12:18 Найти цитируемый пост)
Тыкните меня пожайлуста в то место где действительно происходит утверждение кодека.

не понятно что вы именно хотите услышать.
раскройте вопрос по другому.

Цитата

В запросе INVITE протокола SIP содержится вся необходимая для установления соединения информация, включая описание функциональных возможностей терминала.

это не то что вы спрашивали ? 

Автор: umkasumka 25.9.2008, 09:22
Хочу понять где именно говориться какой кодек будет использоваться. Как в INVITE так и в ответе "200 OK" перечисляется список кодеков. Какой именно из них будет использоваться для передачи звука?

Если не сложно укажите в этом примере INVITE какой кодек будет использоваться:

INVITE sip:12346@xxxxxxxxxxxx:5080 SIP/2.0
Via: SIP/2.0/UDP 192.168.1.35:5060;branch=z9hG4bK52375152;rport
From: "asterisk" <sip:asterisk@xxxxxxxxxxxx>;tag=as3068dc59
To: <sip:12346@xxxxxxxxxxxx:5080>
Contact: <sip:asterisk@xxxxxxxxxxxx>
Call-ID: 23dc98e45d8871ff6fdfe0d408ed0391@xxxxxxxxxxxx
CSeq: 102 INVITE
User-Agent: Asterisk PBX
Max-Forwards: 70
Date: Mon, 07 May 2007 18:24:54 GMT
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY
Content-Type: application/sdp
Content-Length: 490

v=0
o=root 2985 2985 IN IP4 192.168.1.35
s=session
c=IN IP4 192.168.1.35
t=0 0
m=audio 17850 RTP/AVP 10 4 3 0 8 111 5 7 18 110 97 101
a=rtpmap:10 L16/8000
a=rtpmap:4 G723/8000
a=rtpmap:3 GSM/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:111 G726-32/8000
a=rtpmap:5 DVI4/8000
a=rtpmap:7 LPC/8000
a=rtpmap:18 G729/8000
a=fmtp:18 annexb=no
a=rtpmap:110 speex/8000
a=rtpmap:97 iLBC/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
a=silenceSupp:off

Или приведите свой, если я привел не удачный. С нетерпением жду ответа. Заранее спасибо.

Автор: marykone 25.9.2008, 10:08
я дилетант в астерисках и т.п. 

Цитата

Found RTP audio format 0
Found RTP audio format 101
Peer audio RTP is at port 192.168.1.35:13892
Found audio description format PCMU for ID 0
Found audio description format telephone-event for ID 101
Capabilities: us - 0x4 (ulaw), peer - audio=0x4 (ulaw)/video=0x0 (nothing), combined - 0x4 (ulaw)
Non-codec capabilities (dtmf): us - 0x1 (telephone-event), peer - 0x1 (telephone-event), combined - 0x1 (telephone-event)
Peer audio RTP is at port 192.168.1.35:13892
list_route: hop: <sip:1501@192.168.1.35>
set_destination: Parsing <sip:1501@192.168.1.35> for address/port to send to
set_destination: set destination to 2.2.2.51, port 5060
Transmitting (no NAT) to 192.168.1.35:5060:
ACK sip:1501@192.168.1.35 SIP/2.0
Via: SIP/2.0/UDP 10.26.0.13:5060;branch=z9hG4bK7e601608;rport
From: "8612686767" <sip:8612686767@192.168.1.200>;tag=as3444ebae
To: <sip:1501@192.168.1.35>;tag=as43626832
Contact: <sip:8612686767@192.168.1.200>
Call-ID: 753d3a49559b38460fe5389d638aa5a1@192.168.1.200
CSeq: 102 ACK
User-Agent: Asterisk PBX
Max-Forwards: 70



вот смотрите 

отсюда видно что  кодек используется

Цитата

audio=0x4 (ulaw)
 

Автор: umkasumka 25.9.2008, 10:33
Ничего похожего не наблюдаю в SIPе который юзает ICQ. Приведу недавно отсниференный пакет INVITE и ACK. Укажите глупому нужную строчку.

SIP/2.0 200 OK
From: <sip:403165785@aol.com:5061>;tag=1c30793
To: <sip:380413634;transport=tunnel>;tag=2085
Call-Id: s_5005_7e6071b92ad4
Cseq: 18066 INVITE
Contact: <sip:380413634;transport=tunnel>
Via: SIP/2.0/tunnel 403165785;branch=z9hG4bK-d9d7196bc908
Content-Type: application/sdp
Content-Length: 582
User-Agent: COOL/4.9.0.5711 SIPxua/2.9.2.2041 (WinNT)
Supported: replaces

v=0
o=sipX 5 7 IN IP4 217.77.223.152
s=call
t=0 0
m=audio 16384 RTP/AVP 96 97 98 99 0 8 100 3 101 4
c=IN IP4 217.77.223.152
a=calt:0 t UDP 0.67 217.77.223.152 16384
a=calt:0 t UDP 0.67 217.77.223.152 16385
a=calt:1 t UDP 0.33 64.12.201.159 41882
a=calt:1 t UDP 0.33 64.12.201.159 41883
a=rtpmap:96 isac/16000/1
a=rtpmap:97 isaclc/16000/1
a=rtpmap:98 eg711u/8000/1
a=rtpmap:99 eg711a/8000/1
a=rtpmap:0 pcmu/8000/1
a=rtpmap:8 pcma/8000/1
a=rtpmap:100 ilbc/8000/1
a=fmtp:100 mode=30
a=rtpmap:3 gsm/8000/1
a=rtpmap:101 telephone-event/8000/1
a=rtpmap:4 g723/8000/1


ACK sip:380413634;transport=tunnel SIP/2.0
Contact: <sip:403165785;transport=tunnel>
From: <sip:403165785@aol.com:5061>;tag=1c30793
To: <sip:380413634;transport=tunnel>;tag=2085
Call-Id: s_5005_7e6071b92ad4
Cseq: 18066 ACK
Max-Forwards: 70
User-Agent: COOL/4.9.0.5711 SIPxua/2.9.2.2041 (WinNT)
Via: SIP/2.0/tunnel 403165785;branch=z9hG4bK-d9d7196bc908
Content-Length: 0

Автор: marykone 25.9.2008, 16:19
umkasumka, 
Цитата(marykone @  25.9.2008,  10:08 Найти цитируемый пост)
я дилетант в астерисках и т.п. 



по этому я вам четко сказать не могу 

мое мнение у вас вообще кодек не выбирается и не привязанн он  

а так хз 

Автор: umkasumka 25.9.2008, 16:36
Нашел альтернативный способ проверки.
Уже в пакетах РТП вторым байтом идет тип РТП, который в воис сесии значит номер кодека, который предварительно обговаривается в СИП.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)