我正在开发一个用于拨打和接听电话的SIP应用程序,我想在我的应用程序中添加G729编解码器.
目前我正在对开源项目SipDroid进行分析.如果我想让该应用程序支持G729编解码器怎么做?
在org.sipdroid.codecs package中有一个不同的编解码器配置文件.为G729编解码器创建这种.java文件吗?
任何建议和回应将不胜感激.
日志信息的星号
Found RTP audio format 101
Found audio description format telephone-event for ID 101
Found RTP video format 103
Found video description format h263-1998 for ID 103
Capabilities: us - 0x100 (g729), peer - audio=0x0 (nothing)/video=0x100000 (h263p)/text=0x0 (nothing), combined - 0x0 (nothing)
Non-codec capabilities (dtmf): us - 0x1 (telephone-event|), peer - 0x1 (telephone-event|), combined - 0x1 (telephone-event|)
[Apr 9 18:00:25] NOTICE[3813]: chan_sip.c:9187 process_sdp: **No compatible codecs**, not accepting this offer!
SDP
To: <sip:5003@192.168.1.17>
From: <sip:5004@192.168.1.17>;tag=z9hG4bK80811693
Call-ID: 082004294635@10.0.2.15
CSeq: 2 INVITE
Contact: <sip:5004@10.0.2.15:36252;transport=udp>
Expires: 3600
User-Agent: MySipdroid. !/2.4 beta/sdk
Authorization: Digest username="5004", realm="asterisk", nonce="6264308a", uri="sip:5003@192.168.1.17", algorithm=MD5, response="fb6dfb528d362657ef01458f96653adb"
Content-Length: 137
Content-Type: application/sdp
v=0
o=5004@192.168.1.17 0 0 IN IP4 10.0.2.15
s=Session SIP/SDP
c=IN IP4 10.0.2.15
t=0 0
m=audio 21000 RTP/AVP
a=fmtp:18 annexb=no
<------------->
--- (13 headers 7 lines) ---
Sending to 192.168.1.17:35370 (NAT)
Using INVITE request as basis request - 082004294635@10.0.2.15
Found peer '5004' for '5004' from 192.168.1.17:35370
== Using SIP RTP CoS mark 5
Capabilities: us - 0x100 (g729), peer - audio=0x0 (nothing)/video=0x0 (nothing)/text=0x0 (nothing), combined - 0x0 (nothing)
Non-codec capabilities (dtmf): us - 0x1 (telephone-event|), peer - 0x0 (nothing), combined - 0x0 (nothing)
[Apr 10 12:01:05] NOTICE[3524]: chan_sip.c:9187 process_sdp: No compatible codecs, not accepting this offer!
显示翻译结果
core show translation
Translation times between formats (in microseconds) for one second of data
Source Format (Rows) Destination Format (Columns)
g723 gsm ulaw alaw g726aal2 adpcm slin lpc10 g729 speex ilbc g726 g722 siren7 siren14 slin16 g719 speex16 testlaw
g723 - - - - - - - - - - - - - - - - - - -
gsm - - 1001 1001 3000 2000 1000 3000 3999 - 8999 3999 1001 - - 1002 - - 1001
ulaw - 2000 - 1 2001 1001 1 2001 3000 - 8000 3000 2 - - 3 - - 2
alaw - 2000 1 - 2001 1001 1 2001 3000 - 8000 3000 2 - - 3 - - 2
g726aal2 - 2999 1001 1001 - 2000 1000 3000 3999 - 8999 3999 1001 - - 1002 - - 1001
adpcm - 2000 2 2 2001 - 1 2001 3000 - 8000 3000 2 - - 3 - - 2
slin - 1999 1 1 2000 1000 - 2000 2999 - 7999 2999 1 - - 2 - - 1
lpc10 - 2999 1001 1001 3000 2000 1000 - 3999 - 8999 3999 1001 - - 1002 - - 1001
g729 - 2999 1001 1001 3000 2000 1000 3000 - - 8999 3999 1001 - - 1002 - - 1001
speex - - - - - - - - - - - - - - - - - - -
ilbc - 2998 1000 1000 2999 1999 999 2999 3998 - - 3998 1000 - - 1001 - - 1000
g726 - 2999 1001 1001 3000 2000 1000 3000 3999 - 8999 - 1001 - - 1002 - - 1001
g722 - 2000 2 2 2001 1001 1 2001 3000 - 8000 3000 - - - 1 - - 2
siren7 - - - - - - - - - - - - - - - - - - -
siren14 - - - - - - - - - - - - - - - - - - -
slin16 - 3000 1002 1002 3001 2001 1001 3001 4000 - 9000 4000 1000 - - - - - 1002
g719 - - - - - - - - - - - - - - - - - - -
speex16 - - - - - - - - - - - - - - - - - - -
testlaw - 2000 2 2 2001 1001 1 2001 3000 - 8000 3000 2 - - 3 - - -
sip.conf
[5004]
type=friend
username=5004
secret=5004
host=dynamic
context=testcontext
nat=yes
disallow=all
allow=g729
qualify=yes
callerid="919999121312"<5004>
解决方法:
你的星号日志看起来非常适合支持编解码器,但你需要在你的客户端安卓应用程序上使用g729编码器(现在似乎是商业许可证),如果你有幸获得编解码器的开源许可证,请告诉我. .
许可
G.729包括来自多家公司的专利,并由Sipro Lab Telecom授权. Sipro Lab Telecom是G.729技术和专利池的授权知识产权许可管理员.[3] [4] [5] [6]在许多国家/地区,使用G.729可能需要许可费和/或特许权使用费.[5]
资料来源:http://en.wikipedia.org/wiki/G.729
问候.