11-23-2012 11:50 AM - edited 03-16-2019 02:21 PM
Hi evey body.
ipphone(201.201.201.11)--------sw----CME----SW---ipphone2(201.201.201.12)
A ip phone ( 201.201.201.11) calls ip phone2 ( 201.201.201.12)
A CME sends a open receive channel message to calling ip phone ( 201.201.201.11) as show below:
No. Time Source Destination Protocol Length Info
270 43.156079 201.201.201.1 201.201.201.11 SKINNY 134 OpenReceiveChannel
Frame 270: 134 bytes on wire (1072 bits), 134 bytes captured (1072 bits)
Ethernet II, Src: Cisco_37:8a:c0 (00:12:d9:37:8a:c0), Dst: Cisco_7b:84:ef (00:06:53:7b:84:ef)
Internet Protocol Version 4, Src: 201.201.201.1 (201.201.201.1), Dst: 201.201.201.11 (201.201.201.11)
Transmission Control Protocol, Src Port: cisco-sccp (2000), Dst Port: 49530 (49530), Seq: 2681, Ack: 301, Len: 80
Skinny Client Control Protocol
Data length: 72
Header version: Basic (0x00000000)
Message ID: OpenReceiveChannel (0x00000105)
Conference ID: 2
Pass-thru party ID: 0
MS/packet: 20
Payload capability: G.711 u-law 64k (4)
Echo-cancel type: Media_EchoCancellation_On (1)
G723 bitrate: Media_G723BRate_6_4 (2)
Please consider the payload capability highlighted above.
1)Does it indicate the capability of calling phone or called phone? Or does it indicate the codec need to be used between calling ipphone and called ipphone?
2) If it does indicate the the codec need to used between calling ipphone and called ipphone, how does CME determine which codec must be used between calling ipphone and called ipphone?
This is my understanding:
At the time of registration with CME, both ipphones also send capability messages which contains the codecs supported by ipphones.
When an ipphone wants to call another ipphone, it must be determined which codec need to be used for the voice stream between two ipphones.
CME uses this capability messages to decide which codec need to be used between two ip phones for their voice streams i.e I dont see any message going from called phone to calling ipphone and vice versa indicating which codec needs to be used. It is CME that sends this open receive channel to calling ipphone and called ipphone indicating the codec needed to be used.
Just want to confirm that.
Thanks and have a great weekend.
Solved! Go to Solution.
11-23-2012 12:33 PM
The codec used during call setup is determined by the codec configured on the phone...
e.g
ephone 1
codec g711u
This phone will use g711u for all calls
The default codec on phones in ccme is G729.
The capability is same as the codec the phone will negotiate for the call. Depending on the trace you are looking at, you should see the trace for both calling and called phone and what they are both negotiating
Please rate all useful posts
"'Nature is too thin a screen, the glory of the omnipresent God bursts through it everywhere"-Ralph Waldo Emerson
11-23-2012 01:36 PM
11-23-2012 03:09 PM
Thanks ofr the correction. That was said in error. It is obviosuly G711
Please rate all useful posts
"'Nature is too thin a screen, the glory of the omnipresent God bursts through it everywhere"-Ralph Waldo Emerson
11-23-2012 03:13 PM
Enable "debug ephone state" You will see the codec negotiated for the call...You can post here and will have a look. Yes the time you will see codec negotiation is wehn CME tells the phone to open receive channel
Please rate all useful posts
"'Nature is too thin a screen, the glory of the omnipresent God bursts through it everywhere"-Ralph Waldo Emerson
11-23-2012 12:33 PM
The codec used during call setup is determined by the codec configured on the phone...
e.g
ephone 1
codec g711u
This phone will use g711u for all calls
The default codec on phones in ccme is G729.
The capability is same as the codec the phone will negotiate for the call. Depending on the trace you are looking at, you should see the trace for both calling and called phone and what they are both negotiating
Please rate all useful posts
"'Nature is too thin a screen, the glory of the omnipresent God bursts through it everywhere"-Ralph Waldo Emerson
11-23-2012 01:36 PM
The default codec on phones in ccme is G729.
No, it is G.711ulaw.
11-23-2012 03:09 PM
Thanks ofr the correction. That was said in error. It is obviosuly G711
Please rate all useful posts
"'Nature is too thin a screen, the glory of the omnipresent God bursts through it everywhere"-Ralph Waldo Emerson
11-23-2012 03:04 PM
The capability is same as the codec the phone will negotiate for the call. Depending on the trace you are looking at, you should see the trace for both calling and called phone and what they are both negotiating
I dont see any negotiation occuring about codec between calling phone (201.201.201.11) and calledphone (201.201.201.12).
The only time i see something related to codec when cme( 201.201.201.1) sends a open receive channel to calling phone( 201.201.201.11).
Below I have attached the file containing the wireshark capture between calling ipphone 201.201.201.11 ,CME 201.201.201.1 and called ipphone 201.201.201.12
Thanks and have a great day.
11-23-2012 03:13 PM
Enable "debug ephone state" You will see the codec negotiated for the call...You can post here and will have a look. Yes the time you will see codec negotiation is wehn CME tells the phone to open receive channel
Please rate all useful posts
"'Nature is too thin a screen, the glory of the omnipresent God bursts through it everywhere"-Ralph Waldo Emerson
11-23-2012 04:19 PM
Below is the output of " debug ephone state"( output omitted for brevity)
00:05:59: ephone-1[1]:OpenReceive DN 1 chan 1 codec 4:G711Ulaw64k duration 20 m
s bytes 160
00:05:59: ephone-2[2]:OpenReceive DN 2 chan 1 codec 4:G711Ulaw64k duration 20 m
s bytes 160
00:05:59: dn_tone_control DN=1 chan 1 tonetype=0:DtSilence onoff=0 pid=172
00:05:59: DN 2 chan 1 Voice_Mode
00:05:59: DN 1 chan 1 End Voice_Mode
00:05:59: DN 1 chan 1 Voice_Mode
00:05:59: ephone-1[1]:OpenReceiveChannelAck:IP 201.201.201.11, port=23968,
dn_index=1, dn=1, chan=1
00:05:59: ephone-2[2]:StartMedia 201.201.201.11 port=23968
00:05:59: DN 1 chan 1 codec 4:G711Ulaw64k duration 20 ms bytes 160
00:05:59: ephone-2[2]:OpenReceiveChannelAck:IP 201.201.201.12, port=23266,
dn_index=2, dn=2, chan=1
00:05:59: ephone-1[1]:StartMedia 201.201.201.12 port=23266
00:05:59: DN 2 chan 1 codec 4:G711Ulaw64k duration 20 ms bytes 160
00:06:00: ephone-1[1]::callingNumber 20001
The negotiation about codec is occurring between CME and called phone, between CME and calling phone but not between calling and called phone.
In wireshark, I dont see any negotiation about codec between called phone and calling phone.I do see exchanges of " open receive channel" and " open receive channel ack" messages flowing between CME and called phone, CME and calling phone. Once the both phones receive" start transmission" messages from CME, the phones know which codec to use ,which ip address and port to use to connect to each other.
The point I am trying to make is negotiation about codec occurs between CME and ip phone( called or calling phone) using " Open receive channel " and " open receive channel ack" messages.
I appreciate your help.
Thanks and have a great day
Discover and save your favorite ideas. Come back to expert answers, step-by-step guides, recent topics, and more.
New here? Get started with these tips. How to use Community New member guide