[asterisk-dev] Skinny protocol messages with recent Cisco phones-

Dan Austin Dan_Austin at Phoenix.com
Tue Jun 5 15:21:08 MST 2007


Jason wrote:
> ----- "Dan Austin" <Dan_Austin at Phoenix.com> wrote:
>> I don't have wireshark, so I am open to suggestions.
>> My sniffer is reporting it as 'extra bytes'.  At least
>> one of structures in the current code is using :
>> 
>> uint32_t space;
>> 
>> To generate 4 bytes of padding, so I extended the concept.
>> I have a patch that I am cleaning up right now, and I
>> can/will open a bug with it attached.
>> 
>> My 7940 is still functional after these changes, so the
>> older phones do not care if the packet is padded, but the
>> new ones choke if it is not.  Based on that observation, I
>> would tend to think that this approach is valid not only
>> for trunk, but also branches/1.4 since the code tries to
>> support the new devices.
>> 
>> An alternate approach is to duplicate all of the structures
>> and have versions for old and new phones and make the general
>> code aware of the difference so we send old style packets
>> to legacy models and the new style for the current models (yuck).
>> 
>> Dan

> Wireshark doesn't know about anything after the second char[24]


Bummer.  All of the padding is multiples of 4, so I like
Uint32_t[], but a char[] of the exact size would suit me fine.

Oh, and I found this:
struct media_qualifier {
        uint32_t precedence;
        uint32_t vad;
        uint16_t packets; /* Was uint32_t */
        uint32_t bitRate;
};

My packet captures showed the packets field as being two bytes,
not four.  This is only non-padding related change in my
patch on Mantis (9887)

Dan



More information about the asterisk-dev mailing list