beautypg.com

Parsing vendor id information, C-16 – Polycom SOUNDPOINT SIP 2.2.0 User Manual

Page 240

background image

Administrator’s Guide SoundPoint IP / SoundStation IP

C - 16

Parsing Vendor ID Information

After the phone boot, it sends a DHCP Discover packet to the DHCP server.

This is found in the Bootstrap Protocol/option "Vendor Class Identifier"

section of the packet and includes the phone’s part number and the bootROM

version. The format of this option's data is not specified in RFC 2132, but is left

to each vendor to define its own format. To be useful, every vendor's format

must be distinguishable from every other vendor's format. To make our

format uniquely identifiable, the format follows RFC 3925, which uses the

IANA Private Enterprise number to determine which vendor's format should

be used to decode the remaining data. The private enterprise number assigned

to Polycom is 13885 (0x0000363D).
This vendor ID information is not a character string, but an array of binary

data. The steps for parsing are as follows:

1.

Check for the Polycom signature at the start of the option:

4 octet: 00 00 36 3d

2.

Get the length of the entire list of sub-options:

1 octet

3.

Read the field code and length of the first sub-option, 1+1 octets

4.

If this is a field you want to parse, save the data.

5.

Skip to the start of the next sub-option.

6.

Repeat steps 3 to 5 until you have all the data or you encounter the

End-of-Suboptions code (0xFF).

For example, the following is a sample decode of a packet from an IP601:

3c 74

- Option 60, length of Option data (part of the DHCP spec.)

00 00 36 3d

- Polycom signature (always 4 octects)

6f

- Length of Polycom data

01 07 50 6f 6c 79 63 6f 6d

- sub-option 1 (company), length, "Polycom"

02 15 53 6f 75 6e 64 50 6f 69 6e 74 49 50 2d 53 50 49 50 5f 36 30 31

- sub-option 2 (part), length, "SoundPointIP-SPIP_601"

03 10 32 33 34 35 2d 31 31 36 30 35 2d 30 30 31 2c 32

- sub-option 3 (part number), length, "2345-11605-001,2"

04 1c 53 49 50 2f 54 69 70 2e 58 58 58 58 2f 30 38 2d 4a 75 6e 2d 30 37

20 31 30 3a 34 34

- sub-option 4 (Application version), length, "SIP/Tip.XXXX/08-Jun-07

10:44"

05 1d 42 52 2f 33 2e 31 2e 30 2e 58 58 58 58 2f 32 38 2d 41 70 72 2d 30

35 20 31 33 3a 33 30

- sub-option 5 (BootROM version), length, "BR/3.1.0.XXXX/28-Apr-05

13:30"

ff