[SOLVED] T46G Codec autoprovisioning issue (V72) - Kriss - 05-23-2014 02:20 AM
Hi there,
Just found something weired on the T46 on firmware v72 :
I need to use PCMA so here's what i use in my MAC.cfg file :
Code:
#######################################################################################
## Audio Codec ##
#######################################################################################
###T19D/T21D support codec1~codec8
###T20P/T22P/T26P/T28P support codec1~codec11
###T41P/T42G/T46G support codec1~codec12
account.1.codec.1.enable = 1
account.1.codec.1.payload_type = PCMA
account.1.codec.1.priority = 1
account.1.codec.1.rtpmap = 0
account.1.codec.2.enable = 0
account.1.codec.2.payload_type = PCMU
account.1.codec.2.priority = 2
account.1.codec.2.rtpmap = 8
account.1.codec.3.enable = 0
account.1.codec.3.payload_type = G723_53
account.1.codec.3.priority =4
account.1.codec.3.rtpmap = 4
account.1.codec.4.enable = 0
account.1.codec.4.payload_type = G723_63
account.1.codec.4.priority = 0
account.1.codec.4.rtpmap = 4
account.1.codec.5.enable = 0
account.1.codec.5.payload_type = G729
account.1.codec.5.priority = 3
account.1.codec.5.rtpmap = 18
account.1.codec.6.enable = 0
account.1.codec.6.payload_type = G722
account.1.codec.6.priority = 4
account.1.codec.6.rtpmap = 9
account.1.codec.7.enable = 0
account.1.codec.7.payload_type =
account.1.codec.7.priority =
account.1.codec.7.rtpmap =
account.1.codec.8.enable = 0
account.1.codec.8.payload_type = G726-16
account.1.codec.8.priority = 0
account.1.codec.8.rtpmap = 112
account.1.codec.9.enable = 0
account.1.codec.9.payload_type = G726-24
account.1.codec.9.priority = 0
account.1.codec.9.rtpmap = 102
account.1.codec.10.enable = 0
account.1.codec.10.payload_type = G726-32
account.1.codec.10.priority = 0
account.1.codec.10.rtpmap = 2
account.1.codec.11.enable = 0
account.1.codec.11.payload_type = G726-40
account.1.codec.11.priority = 0
account.1.codec.11.rtpmap = 104
account.1.codec.12.enable = 0
account.1.codec.12.payload_type = iLBC_13_3
account.1.codec.12.priority = 0
account.1.codec.12.rtpmap = 97
account.1.codec.13.enable = 0
account.1.codec.13.payload_type = iLBC_15_2
account.1.codec.13.priority = 0
account.1.codec.13.rtpmap = 97
#######################################################################################
Result : Awefull sound when just dialing voicemail (as exemple).
Using a network (IPBX side) trace, here is what i get :
Code:
INVITE sip:*60@192.168.1.246:5060 SIP/2.0
Via: SIP/2.0/UDP 192.168.1.92:5062;branch=z9hG4bK1353856940
From: "419" <sip:419@192.168.1.246>;tag=199176232
To: <sip:*60@192.168.1.246>
Call-ID: 2127301607@192.168.1.92
CSeq: 2 INVITE
Contact: <sip:419@192.168.1.92:5062>
Authorization: Digest username="419", realm="asterisk", nonce="2d633256", uri="sip:*60@192.168.1.246:5060", response="8163f15b12070b9549d2d31028841c3a", algorithm=MD5
Content-Type: application/sdp
Allow: INVITE, INFO, PRACK, ACK, BYE, CANCEL, OPTIONS, NOTIFY, REGISTER, SUBSCRIBE, REFER, PUBLISH, UPDATE, MESSAGE
Max-Forwards: 70
User-Agent: Yealink SIP-T46G 28.72.0.1
Supported: replaces
Allow-Events: talk,hold,conference,refer,check-sync
Content-Length: 211
v=0
o=- 20002 20002 IN IP4 192.168.1.92
s=SDP data
c=IN IP4 192.168.1.92
t=0 0
m=audio 11784 RTP/AVP 0 101
a=rtpmap:0 PCMA/8000
a=fmtp:101 0-15
a=rtpmap:101 telephone-event/8000
a=ptime:20
a=sendrecv
So the call is well negociated with PCMA payload but :
The following RTP is encoded with PCMU :
Code:
No. Time Source Destination Protocol Length Info
8 17:15:09.544816 192.168.1.92 192.168.1.246 RTP 214 PT=ITU-T G.711 PCMU, SSRC=0x35391DDD, Seq=0, Time=2728394802, Mark
Frame 8: 214 bytes on wire (1712 bits), 214 bytes captured (1712 bits)
Ethernet II, Src: XiamenYe_64:69:50 (00:15:65:64:69:50), Dst: Pegatron_61:17:8d (38:60:77:61:17:8d)
Internet Protocol Version 4, Src: 192.168.1.92 (192.168.1.92), Dst: 192.168.1.246 (192.168.1.246)
User Datagram Protocol, Src Port: 11784 (11784), Dst Port: 12204 (12204)
Real-Time Transport Protocol
[Stream setup by SDP (frame 6)]
10.. .... = Version: RFC 1889 Version (2)
..0. .... = Padding: False
...0 .... = Extension: False
.... 0000 = Contributing source identifiers count: 0
1... .... = Marker: True
Payload type: ITU-T G.711 PCMU (0)
Sequence number: 0
[Extended sequence number: 65536]
Timestamp: 2728394802
Synchronization Source identifier: 0x35391ddd (892935645)
Payload: ffffffffffffffffffffffffffffffffffffffff7fffffff...
I was able to "solve" the issue by keeping the default (yealink provided) config in MAC.CFG.
Note that when the codecs settings are made from the web UI everything seems ok.
You will find the MAC.cfg + pcap file in attachement.
Regards,
./Kriss
RE: [BUG] T46G Codec autoprovisioning issue (V72) - nicknomo - 05-23-2014 11:12 AM
The problem is that the rtpmap is being set to 0, which causes it to misbehave. Here is the solution posted by yealink support, when I had a similar problem. Start off with this in your config (notice: the rtp maps cannot be changed).
Code:
account.1.codec.1.enable = 1
account.1.codec.1.payload_type = PCMU
account.1.codec.1.priority = 1
account.1.codec.1.rtpmap = 0
account.1.codec.2.enable = 0
account.1.codec.2.payload_type = PCMA
account.1.codec.2.priority = 2
account.1.codec.2.rtpmap = 8
account.1.codec.3.enable = 0
account.1.codec.3.payload_type = G723_53
account.1.codec.3.priority =0
account.1.codec.3.rtpmap = 4
account.1.codec.4.enable = 0
account.1.codec.4.payload_type = G723_63
account.1.codec.4.priority = 0
account.1.codec.4.rtpmap = 4
account.1.codec.5.enable = 0
account.1.codec.5.payload_type = G729
account.1.codec.5.priority = 3
account.1.codec.5.rtpmap = 18
account.1.codec.6.enable = 1
account.1.codec.6.payload_type = G722
account.1.codec.6.priority = 4
account.1.codec.6.rtpmap = 9
account.1.codec.7.enable = 0
account.1.codec.7.payload_type = iLBC
account.1.codec.7.priority = 0
account.1.codec.7.rtpmap = 106
account.1.codec.8.enable = 0
account.1.codec.8.payload_type = G726-16
account.1.codec.8.priority = 0
account.1.codec.8.rtpmap = 103
account.1.codec.9.enable = 0
account.1.codec.9.payload_type = G726-24
account.1.codec.9.priority = 0
account.1.codec.9.rtpmap = 104
account.1.codec.10.enable = 0
account.1.codec.10.payload_type = G726-32
account.1.codec.10.priority = 0
account.1.codec.10.rtpmap = 102
account.1.codec.11.enable = 0
account.1.codec.11.payload_type = G726-40
account.1.codec.11.priority = 0
account.1.codec.11.rtpmap = 105
account.1.codec.12.enable = 0
account.1.codec.12.payload_type = GSM
account.1.codec.12.priority = 0
account.1.codec.12.rtpmap = 3
Enable and Disable codecs as you please, and change their priority by changing the priority field. However, you can't change payload_type or rtpmap...
RE: [BUG] T46G Codec autoprovisioning issue (V72) - Kriss - 05-23-2014 02:20 PM
Hi nicknomo,
Good to know... if i can say so.
Thanks for sharing this explanation by the way.
Hope that will help other people too...
./Kriss
RE: [BUG] T46G Codec autoprovisioning issue (V72) - nicknomo - 05-23-2014 11:52 PM
(05-23-2014 02:20 PM)Kriss Wrote: Hi nicknomo,
Good to know... if i can say so.
Thanks for sharing this explanation by the way.
Hope that will help other people too...
./Kriss
Glad it helped!
|