cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
1731
Views
0
Helpful
6
Replies

Sccp open receive channel.message and capability

sarahr202
Level 5
Level 5

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.

4 Accepted Solutions

Accepted Solutions

Ayodeji Okanlawon
VIP Alumni
VIP Alumni

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

Please rate all useful posts

View solution in original post

The default codec on phones in ccme is G729.

No, it is G.711ulaw.

View solution in original post

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

Please rate all useful posts

View solution in original post

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

Please rate all useful posts

View solution in original post

6 Replies 6

Ayodeji Okanlawon
VIP Alumni
VIP Alumni

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

Please rate all useful posts

The default codec on phones in ccme is G729.

No, it is G.711ulaw.

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

Please rate all useful posts

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.

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

Please rate all useful posts

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