Booting or connecting a Poly SoundStation IP, SoundPoint IP, VVX Business Media, CCX, VVX IP Phone or a Poly Trio to a network switch initiates certain network standards
NOTE: The below has been tested with a VVX600 running UC Software 5.3.1. Using a different phone and/or software version may vary in the result
INITIAL BOOT PROCESS
The below illustrates the initial => LLDP Discovery <=
Check Step 2 => here <= in order to disable LLDP
000016.816|lldp |1|00|Sending LLDP packet with length (lldpPktLen= 37) 000017.817|lldp |1|00|Sending LLDP packet with length (lldpPktLen= 369) 000018.817|lldp |1|00|Sending LLDP packet with length (lldpPktLen= 369) 000019.819|lldp |1|00|Sending LLDP packet with length (lldpPktLen= 369) 000020.820|lldp |1|00|Sending LLDP packet with length (lldpPktLen= 369) 000021.820|lldp |1|00|Sending LLDP packet with length (lldpPktLen= 369)
NOTE: Please check the UC Software Admin guide on details for configuration parameters to either disable LLDP or modify the LLDP Discovery !
Parameters to change the behaviour:
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<!-- number min 3 max 10 default -->
<web device.set="1" device.net.lldpFastStartCount.set="1" device.net.lldpFastStartCount="10"/>
The above Parameter would send 10 LLDP packets instead of the original 5
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<!-- number of seconds minimum 0 maximum 3600 default 0 -->
<web net.lldp.extendedDiscovery="60"/>
The above Parameter would delay the sending if LLDP packets by 60 seconds so a switch can be ready to provision the settings to the port.
Any reply to the LLDP and we do not send CDP packets!
Followed by the => CDP <= discovery
Check Step 2 => here <= in order to disable CDP
000024.844|cdp |1|00|Sending CDP packet with length (cdpPktLen= 141) 000025.844|cdp |1|00|Sending CDP packet with length (cdpPktLen= 141) 000026.845|cdp |1|00|Sending CDP packet with length (cdpPktLen= 141)
NOTE: Please check the UC Software Admin guide on details for configuration parameters to disable CDP !
Both of the above can be utilized to receive or send Data like a => VLAN <= from and to the phone
If any of the above receives data from a network switch the phone would process this.
The phone would then proceed with sending a => DHCP Discover <=
000032.166|dhcpc|3|00|dhcListener: Read succeeds: eth0 state: PREINIT Listening on LPF/eth0/00:04:f2:ac:89:bb Sending on LPF/eth0/00:04:f2:ac:89:bb Sending on Socket/fallback DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 8
Within this DHCP Discover message, the phone uses various Sub-Options
<test device.set="1" device.hostname="replace_with_own_value" device.hostname.set="1" />
Option 55 is actually a List of Sub Options
Option66 | Just use DHCP Option 66 |
Custom | Just use the DHCP Option matching the relevant hardware aka 160 or 161 |
Static | Ignore any DHCP options and use the Provisioning server manually added |
Custom+Opt66 | Use the relevant Hardware Option aka 160 or 161 and if no option fall back to Option 66 |
The phone can then receive one or multiple DHCP Offers:
NOTE: The Offer does not mandatorily need to contain all requested options!
DHCPOFFER from 10.252.149.249
The Phone would then Request the IP Address and everything else:
DHCPREQUEST on eth0 to 255.255.255.255 port 67
And the Server would ACKNOWLEDGE this exchange
DHCPACK from 10.252.149.249
The Details can be seen in the Phone logs:
000033.490|dhcpc|3|00|dhcListener: Read succeeds: eth0 ip: 10.252.149.109.
000033.493|dhcpc|3|00|dhcListener: Read succeeds: eth0 option: subnet-mask 255.255.252.0.
000033.494|dhcpc|3|00|dhcListener: Read succeeds: eth0 option: routers 10.252.149.1.
000033.494|dhcpc|3|00|dhcListener: Read succeeds: eth0 option: domain-name-servers 10.252.149.120 10.252.130.10.
000033.495|dhcpc|3|00|dhcListener: Read succeeds: eth0 option: domain-name sbaierhome.lab.
000033.497|dhcpc|3|00|dhcListener: Read succeeds: eth0 option: time-offset 0.
000033.497|dhcpc|3|00|dhcListener: Read succeeds: eth0 option: dhcp-lease-time 691200.
000033.498|dhcpc|3|00|dhcListener: Read succeeds: eth0 option: dhcp-server-identifier 10.252.149.249.
000033.499|dhcpc|3|00|dhcListener: Read succeeds: eth0 option: ntp-servers 10.252.149.249.
000033.500|dhcpc|3|00|dhcListener: Read succeeds: eth0 option: time-servers 10.252.149.249.
000033.503|dhcpc|3|00|dhcListener: Read succeeds: eth0 option: broadcast-address 10.252.151.255.
000033.506|dhcpc|3|00|dhcListener: Read succeeds: eth0 option: dhcp-lease-time 691200.
000033.507|dhcpc|3|00|dhcListener: Read succeeds: eth0 option: dhcp-message-type 5.
000033.508|dhcpc|3|00|dhcListener: Read succeeds: eth0 option: dhcp-renewal-time 345600.
000033.509|dhcpc|3|00|dhcListener: Read succeeds: eth0 option: dhcp_rebinding_time 604800.
000033.532|dhcpc|3|00|dhcListener: Read succeeds: eth0 state: BOUND.
000033.536|cfg |*|00|RT|Do not do DHCP VLAN Discovery.
000033.536|cfg |*|00|RT| Phone IP address is 10.252.149.109.
000033.536|cfg |*|00|RT| Subnet mask is 255.255.252.0.
000033.536|cfg |*|00|RT| Gateway address is 10.252.149.1.
000033.536|cfg |*|00|RT| DNS server is 10.252.149.120.
000033.536|cfg |*|00|RT| DNS alternate server is 10.252.130.10.
000033.536|cfg |*|00|RT| DNS domain is sbaierhome.lab.
000033.536|cfg |*|00|RT| Time server is 10.252.149.249.
000033.536|cfg |*|00|RT| GMT offset is 0 seconds.
000033.538|dns |*|00|DNS resolver servers are '10.252.149.120' '10.252.130.10'
000033.538|dns |*|00|DNS resolver search domain is 'sbaierhome.lab'
000033.540|cfg |*|00|RT|Primary IP: 10.252.149.109 subnet mask 255.255.252.0
Proxy:
General Troubleshooting:
A correct setup Skype for Business infrastructure should not send any Option 43 details as defined in detail => here <= if the Vendor Class send by the device is not MS-UC-Client.
Only the MS-UC-Client Vendor option should request Option 43.
In non-Skype for Business mode our Polycom Phones, and other Vendors, can actually utilize the Option 60 / Option 43 combination as explained => here <=
Polycom phones running at least UC Software 4.0.0 are sending DHCP Discover messages as listed in "Option 55 Parameter Requested List" and are able to fulfil the purpose of the given sub-options from Option 43. This follows the RFC2132
Option 55 in the DHCP Discover:
An Option 43 reply to a DHCP Discover can actually contain the following supported DHCP Sub-Options:
The following table lists the individual sub-options and combination sub-options supported on Polycom phones.
Additional DHCP Option 43 Configuration Options
Option |
Result |
Option 1- Subnet mask |
The phone parses the value from Option 43. |
Option 2 - Time offset |
The phone parses the value. |
Option 3 - Router |
The phone parses the value. |
Option 4 - Time server |
The phone parses the value. |
Option 6 - Domain Name Server |
The phone parses the value. |
Option 7 - Domain Log server |
The phone parses the value. |
Option 15 - Domain Name |
The phone parses the value. |
Option 42 - Network Time Protocol server |
The phone parses the value. |
Option 66 - TFTP Server Name |
The phone parses the value. |
Options 128-255 |
|
Sub-options configured in Option 43 |
|
Options 1, 2, 3, 4, 5, 6, 7, 15, 42, and 66 |
The phone parses the value. |
Options 128-255 |
|
Example for a Provisioning Server:
Option Number |
Length |
Value |
42 |
1D |
66 74 70 3a 2f 2f 6d 75 6b 65 68 2e 61 73 69 61 2E 70 6f 6c 79 63 6f 6d 2e 63 6f 6d |
option66 |
24 |
000035.669|dhcpc|3|4122|dhcListener: Read succeeds: eth0 option: vendor-encapsulated-options 5:2:b:7:6:aa:aa:1:95:c3:2e:c8:0
Polycom WPAD Discovery
Please check => here <=
Polycom ZTP
The phone, from Factory default, tries to reach the Polycom ZTP Platform if no DHCP option is configured in the network and no manual provisioning server is set.
Polycom Experience Cloud
The Polycom Labs feature can be activated to send analytics automatically to Polycom
The phone establishes a secure connection to the Polycom PEC server
If official support is required please check how to phone or open a case here
----------------Troubleshooting Option 43 / 120 Issues.
Taking a Wireshark trace during the Phone is booting up will show the DORA for discovery, offer, request, and acknowledgment (Source => here <=).
Current versions of UC Software already Identify themselves as a MS-UC-Client after booting up.
This happens after the initial DORA by sending a DHCP INFORM utilizing the Option: (60) Vendor class identifier.
This is being used to identify if the Option 43 is correctly setup so we can display the Extension & PIN sign in option.
The Option: (55) Parameter Request List requests Option 120 and Option 43.
Once the phone is booted up and presents the valid Sign-In Options and Extension and PIN screen can be selected and the user is expected to enter their details.
Older Software versions would during this stage identify itself (depending on the Model) in the DISCOVER and REQUEST as an example Polycom-VVX600.
The Process used for this is the Option: (60) Vendor class identifier.
We would not expect the DHCP server to send the Microsoft configured Option 43 or 120 if we are not identifying as MS-UC-Client.
Once the phone is booted up and presents the Extension and PIN screen the user is expected to enter these details.
Older Software Version would only now start sending a DHCP INFORM to the DHCP Server.
Please check => here <= for details
At this stage the Option: (60) Vendor class identifier is set as a MS-UC-Client instead.
The Option: (55) Parameter Request List now requests Option 120 and Option 43.
The DHCP server will respond with an ACK and present the requested Options.
The Option: (43) Vendor-Specific Information will not be in a human readable format.
Using the Copy => Bytes => Printable Text Only feature of Wireshark the Data can be displayed when copied into a text editor.
+]MS-UC-Clienthttpslyncfe01.t3voipuk.lab443%/CertProv/CertProvisioningService.svcNAP
The DHCP Server would show these options like this:
Our Polycom Guru Jeff Schertz explains this in greater detail => here <=
Setting the Logging via the Web Interface (UCS 5.2.0 or later only !)
Or via a Configuration File:
<PIN log.level.change.tickt="1"
log.level.change.cfg="3"
log.render.level="0"
log.render.file.size="1000"/>
Incorrect or incomplete:
0918144405|tickt|1|00|soWebTicketServersGet: request URI is /mex
Correct example:
0919080727|cfg |3|00|Prov|[CfgLyncSipSrvDiscover::cbFoundOption] Received STS-URI is 'https://lyncfe01.t3voipuk.lab:443/CertProv/CertProvisioningService.svc'
202646.012|tickt|1|00|soWebTicketServersGet: request URI is https://lyncfe01.t3voipuk.lab:443/CertProv/CertProvisioningService.svc/mex
Manually configuring an Option 43 STS-URI:
In an environment where there is no Option 43/120 or an incorrect setup STS URI this can be provided manually via:
<test dhcp.option43.override.stsUri="Specify URL here" />
Correct Example:
dhcp.option43.override.stsUri="https://lyncfe01.t3voipuk.lab/CertProv/CertProvisioningService.svc"
If official support is required please check how to phone or open a case here
----------------Polycom Trio
After booting up the Polycom Trio will keep sending multicast packets from port 320 to port 320 for it's Precision Time Protocol
Polycom Visual+ or VisualPro
The RealPresence Visual+ sends out Multicast Traffic in order to advertise itself within the network to RealPresence Trio's
It uses an IP 224.0.0.200 and the port 2000 for this.
Once the Trio itself add's the Visual+ to connect the Trio will connect to the Visual+ and pair:
The Trio Logs show this Discovery package as:
1121134633|mr |1|00|Discovery from 0004f2fd1851 10.252.149.54 port 8000 status 0 pair 0 hw 2:Trio Visual+
1121134634|mr |1|00|Discovery from 00e0db48c130 10.252.149.55 port 18888 status 2 pair 0 hw 8:RealPresence Group 500
The following log:
log.level.change.mr="1"
or via the Web Interface shows this:
If official support is required please check how to phone or open a case here
----------------In January 2018 Poly acquired ObiHai. Older ObiHai phones can only be ordered with the ObiHai software.
The newer Poly VVX 150, 250, 350, and 450 phones can be ordered with either Poly UC Software or ObiHai software. The Poly D230 can only run ObiHai software.
Older ObiHai Phones:
The below is an overview of what Network activities can be seen using a Poly/Obi Phone running and older ObiHai software stack. The example, in this case, is an ObiHai 2182 running the Obi 6.2.2 software after factory default. We use the following filter in Wireshark:
eth.addr[0:3]==9c:ad:ef
Booting up an ObiHai Software edition phone does not use LLDP or CDP and starts with the DORA DHCP Process:
The DHCP Discover:
Within this DHCP Discover message, the phone uses various Sub-Options
Once the DORA is complete the phone then starts a DNS query for root.pnn.obihai.com and connects to the server:
Newer ObiHai Poly Phones:
The below is an overview of what Network activities can be seen using a Poly Phone running ObiHai software stack. The example, in this case, is a Poly VVX D230 running the Obi 7.1.0 software after factory default. We use the following filter in Wireshark:
eth.addr[0:3]==9c:ad:ef
Unlike the "older" legacy ObiHai phones the new Poly D230 as an example will start with 3x LLDP packets and 3x CDP Packets:
It then starts with the DORA DHCP Process:
The DHCP Discover:
Within this DHCP Discover message, the phone uses various Sub-Options
The phone can then receive one or multiple DHCP Offers:
NOTE: The Offer does not mandatorily need to contain all requested options!
Once the DORA is complete the phone then starts a DNS query for prov.obitalk.com and connects securely to the server:
The phone then starts a DNS query for root.pnn.obihai.com and connects to the server:
The phone then starts the TFTP request received via Option 55 Sub Option 66 if received prior for the device file name:
If official support is required please check how to phone or open a case here
----------------A DHCP server may send different data depending on the MAC address or the Vendor Class Identifier
To troubleshoot this a good free tool is dhcptest >here<
To get the help for all possible commands use:
dhcptest-0.7-win64.exe --help
To check if Option 43 is setup use:
dhcptest-0.7-win64.exe --query --option "60=MS-UC-Client"
The DHCP Server will reply:
dhcptest v0.7 - Created by Vladimir Panteleev
https://github.com/CyberShadow/dhcptest
Run with --help for a list of command-line options.
Listening for DHCP replies on port 68.
Sending packet:
op=BOOTREQUEST chaddr=76:74:88:7E:A7:BF hops=0 xid=AACDB3A5 secs=0 flags=8000
ciaddr=0.0.0.0 yiaddr=0.0.0.0 siaddr=0.0.0.0 giaddr=0.0.0.0 sname= file=
2 options:
53 (DHCP Message Type): discover
60 (Vendor class identifier): MS-UC-Client
Received packet from 10.252.149.120:67:
op=BOOTREPLY chaddr=76:74:88:7E:A7:BF hops=0 xid=AACDB3A5 secs=0 flags=0000
ciaddr=0.0.0.0 yiaddr=10.252.149.93 siaddr=10.252.149.120 giaddr=0.0.0.0 sname= file=
7 options:
53 (DHCP Message Type): offer
1 (Subnet Mask): 255.255.255.0
58 (Renewal (T1) Time Value): 43200 (12 hours)
59 (Rebinding (T2) Time Value): 75600 (21 hours)
51 (IP Address Lease Time): 86400 (1 day)
54 (Server Identifier): 10.252.149.120
43 (Vendor Specific Information): 01 0C 4D 53 2D 55 43 2D 43 6C 69 65 6E 74 02 05 68 74 74 70 73 03 16 73 66 62 70 6F 6F 6C 30 31 2E 70 6C 63 6D 6C 61 62 73 2E 63 6F 6D 04 03 34 34 33 05 25 2F 43 65 72 74 50 72 6F 76 2F 43 65 72 74 50 72 6F 76 69 73 69 6F 6E 69 6E 67 53 65 72 76 69 63 65 2E 73 76 63
To check for a specific Vendor Type:
dhcptest-0.7-win64.exe --query --option "60=Polycom-Trio8800"
Reply (shortened)
Sending packet:
op=BOOTREQUEST chaddr=98:DB:EB:57:08:00 hops=0 xid=A443680A secs=0 flags=8000
ciaddr=0.0.0.0 yiaddr=0.0.0.0 siaddr=0.0.0.0 giaddr=0.0.0.0 sname= file=
2 options:
53 (DHCP Message Type): discover
60 (Vendor class identifier): Polycom-Trio8800
Received packet from 10.252.149.120:67:
op=BOOTREPLY chaddr=98:DB:EB:57:08:00 hops=0 xid=A443680A secs=0 flags=0000
ciaddr=0.0.0.0 yiaddr=10.252.149.89 siaddr=10.252.149.120 giaddr=0.0.0.0 sname= file=
7 options:
53 (DHCP Message Type): offer
1 (Subnet Mask): 255.255.255.0
58 (Renewal (T1) Time Value): 43200 (12 hours)
59 (Rebinding (T2) Time Value): 75600 (21 hours)
51 (IP Address Lease Time): 86400 (1 day)
54 (Server Identifier): 10.252.149.120
43 (Vendor Specific Information): A1 19 66 74 70 3A 2F 2F 31 3A 31 40 31 30 2E 32 35 32 2E 31 34 39 2E 31 30 30 00
Option 43 is a specific Server only for a Polycom Trio 8800 device (Hex to Text):
�ftp://1:1@10.252.149.100
Specific MAC address and Option 160:
dhcptest-0.7-win64.exe --mac 98:E7:AA:B4:12:34 --query --request 160
Reply (shortened)
op=BOOTREQUEST chaddr=98:E7:43:B4:95:2D hops=0 xid=CDF6859D secs=0 flags=8000
ciaddr=0.0.0.0 yiaddr=0.0.0.0 siaddr=0.0.0.0 giaddr=0.0.0.0 sname= file=
2 options:
53 (DHCP Message Type): discover
55 (Parameter Request List): 160 (Unknown)
Received packet from 10.252.149.120:67:
op=BOOTREPLY chaddr=98:E7:43:B4:95:2D hops=0 xid=CDF6859D secs=0 flags=0000
ciaddr=0.0.0.0 yiaddr=10.252.149.100 siaddr=10.252.149.120 giaddr=0.0.0.0 sname= file=
7 options:
53 (DHCP Message Type): offer
1 (Subnet Mask): 255.255.255.0
58 (Renewal (T1) Time Value): 43200 (12 hours)
59 (Rebinding (T2) Time Value): 75600 (21 hours)
51 (IP Address Lease Time): 86400 (1 day)
54 (Server Identifier): 10.252.149.120
160 (Unknown): "http://PlcmSpIp:PlcmSpIp@10.252.122.122", "" (68 74 74 70 3A 2F 2F 50 6C 63 6D 53 70 49 70 3A 50 6C 63 6D 53 70 49 70 40 31 30 2E 32 35 32 2E 31 32 32 2E 31 32 32 00)
If official support is required please check how to phone or open a case here
----------------Use DHCP Option 99 to provide location details
Since UC Software 5.7.0 Poly Phones support the Civic Addresses Configuration based on RFC4676 >here< GEOCONF_CIVIC 99
The DHCP Discover requests option 99 via option 55 Parameter Request List
The DHCP Server then sends a DHCP Offer including any configured option 99
Using DHCP Client Logging at Level 3 using:
Settings > Logging > Global Settings > Global Log Level Limit > Log File Size (Kbytes) > VVX/SPIP/SSIP prior to 5.5.0 = 180
Settings > Logging > Global Settings > Global Log Level Limit > Log File Size (Kbytes) > Trio 8300 & VVX after 5.5.0 = 1000
Settings > Logging > Global Settings > Global Log Level Limit > Log File Size (Kbytes) > Trio or CCX 10240
Settings > Logging > Module Log Level Limits > DHCP Client > Event 3
will show the data received:
000040.679|dhcpc|3|00|dhcListener: Read succeeds: eth0 option: o-99 2:55:53:1:8:4e:65:77:20:59:6f:72:6b:2:d:4b:69:6e:67:27:73:20:43:6f:75:6e:74:79:3:8:4e:65:77:20:59:6f:72:6b:4:9:4d:61:6e:68:61:74:74:61:6e:5:13:4d:6f:72:6e:69:6e:67:73:69:64:65:20:48:65:69:67:68:74:73:22:8:42:72:6f:61:64:77:61:79:10:1:4e:11:2:53:57:12:6:41:76:65:6e:75:65:13:3:31:32:33:14:4:11:51:34:36:f6:c7:56:d6:26:96:12:5:56:e6:97:66:57:27:36:97:47:91:60:a5:36:f7:57:46:82:5:76:96:e6:71:71:4:a6:f6:52:77:32:4:26:17:26:26:57:27:36:86:f7:1:80:a3:13:3:3:23:72:d3:3:
Utilizing the Location Manager logging, in addition, can help to troubleshoot this further via:
Settings > Logging > Global Settings > Global Log Level Limit > Debug
Settings > Logging > Global Settings > Global Log Level Limit > Log File Size (Kbytes) > VVX/SPIP/SSIP prior to 5.5.0 = 180
Settings > Logging > Global Settings > Global Log Level Limit > Log File Size (Kbytes) > Trio 8300 & VVX after 5.5.0 = 1000
Settings > Logging > Global Settings > Global Log Level Limit > Log File Size (Kbytes) > Trio or CCX 10240
Settings > Logging > Module Log Level Limits > Location Manager > Debug
as it can show if there are any malformatted data:
000040.748|loc |0|00|LocationMgrC::fetchParseAndUpdateDhcpOptionData: string received from dhclient=2:55:53:1:8:4e:65:77:20:59:6f:72:6b:2:d:4b:69:6e:67:27:73:20:43:6f:75:6e:74:79:3:8:4e:65:77:20:59:6f:72:6b:4:9:4d:61:6e:68:61:74:74:61:6e:5:13:4d:6f:72:6e:69:6e:67:73:69:64:65:20:48:65:69:67:68:74:73:22:8:42:72:6f:61:64:77:61:79:10:1:4e:11:2:53:57:12:6:41:76:65:6e:75:65:13:3:31:32:33:14:4:11:51:34:36:f6:c7:56:d6:26:96:12:5:56:e6:97:66:57:27:36:97:47:91:60:a5:36:f7:57:46:82:5:76:96:e6:71:71:4:a6:f6:52:77:32:4:26:17:26:26:57:27:3
000040.748|loc |0|00|LocationMgrC::fetchParseAndUpdateDhcpOptionData: option data is in hex format, need to manipulate it for our use
000040.748|loc |0|00|LocationMgrC::fetchParseAndUpdateDhcpOptionData: lengthOfCivicData=231
000040.748|loc |0|00|LocationMgrC::fetchParseAndUpdateDhcpOptionData: what=02
000040.748|loc |0|00|LocationMgrC::fetchParseAndUpdateDhcpOptionData: country=US
000040.748|loc |0|00|LocationMgrC::fetchParseAndUpdateDhcpOptionData: Will parse civic address elements now.
000040.748|loc |0|00|LocationMgrC::fetchParseAndUpdateDhcpOptionData: CA element type=01, CA element length=08
000040.748|loc |0|00|LocationMgrC::fetchParseAndUpdateDhcpOptionData CAelementType=01, ElementString= New York
000040.748|loc |0|00|LocationMgrC::fetchParseAndUpdateDhcpOptionData: CA element type=02, CA element length=0d
000040.748|loc |0|00|LocationMgrC::fetchParseAndUpdateDhcpOptionData CAelementType=02, ElementString= King's County
000040.748|loc |0|00|LocationMgrC::fetchParseAndUpdateDhcpOptionData: CA element type=03, CA element length=08
000040.748|loc |0|00|LocationMgrC::fetchParseAndUpdateDhcpOptionData CAelementType=03, ElementString= New York
000040.748|loc |0|00|LocationMgrC::fetchParseAndUpdateDhcpOptionData: CA element type=04, CA element length=09
000040.748|loc |0|00|LocationMgrC::fetchParseAndUpdateDhcpOptionData CAelementType=04, ElementString= Manhattan
000040.748|loc |0|00|LocationMgrC::fetchParseAndUpdateDhcpOptionData: CA element type=05, CA element length=13
000040.748|loc |0|00|LocationMgrC::fetchParseAndUpdateDhcpOptionData CAelementType=05, ElementString= Morningside Heights
000040.748|loc |0|00|LocationMgrC::fetchParseAndUpdateDhcpOptionData: CA element type=22, CA element length=08
000040.748|loc |0|00|LocationMgrC::fetchParseAndUpdateDhcpOptionData CAelementType=22, ElementString= Broadway
000040.748|loc |0|00|LocationMgrC::fetchParseAndUpdateDhcpOptionData: CA element type=10, CA element length=01
000040.748|loc |0|00|LocationMgrC::fetchParseAndUpdateDhcpOptionData CAelementType=10, ElementString= N
000040.748|loc |0|00|LocationMgrC::fetchParseAndUpdateDhcpOptionData: CA element type=11, CA element length=02
000040.748|loc |0|00|LocationMgrC::fetchParseAndUpdateDhcpOptionData CAelementType=11, ElementString= SW
000040.748|loc |0|00|LocationMgrC::fetchParseAndUpdateDhcpOptionData: CA element type=12, CA element length=06
000040.748|loc |0|00|LocationMgrC::fetchParseAndUpdateDhcpOptionData CAelementType=12, ElementString= Avenue
000040.748|loc |0|00|LocationMgrC::fetchParseAndUpdateDhcpOptionData: CA element type=13, CA element length=03
000040.748|loc |0|00|LocationMgrC::fetchParseAndUpdateDhcpOptionData CAelementType=13, ElementString= 123
000040.748|loc |0|00|LocationMgrC::fetchParseAndUpdateDhcpOptionData: CA element type=14, CA element length=04
000040.748|loc |0|00|LocationMgrC::fetchParseAndUpdateDhcpOptionData CAelementType=14, ElementString= Q46
...
000040.748|loc |1|00|setCurrent: new current location is "Broadway, Q46, 123 SW Avenue N Morningside Heights, Manhattan, New York,King's County, New York US"
If the Phone has successfully received its Location it can be checked via Settings > Status > Location Information:
In order to configure this on a Windows DHCP server, you can either manually add the new Option 99 and define the string or use the command line for a specific scope:
netsh dhcp server add optiondef 99 GEOCONFCIVIC Binary 0 comment="GEOCONF CIVIC 99"
netsh dhcp server scope 10.252.149.0 set optionvalue 99 Binary 02555301084e657720596f726b020d4b696e67277320436f756e747903084e657720596f726b04094d616e68617474616e05134d6f726e696e67736964652048656967687473220842726f616477617910014e1102535712064176656e75651303313233140411513436f6c756d62696120556e6976657273697479160a536f7574682057696e6717104a6f6527732042617262657273686f70180a31303032372d30343031190b4c6f77204c6962726172791a064170742034321b01341c04343530461d064f6666696365e064c656f6e69611f053132333435200b3133323033303030303033
For a Linux DHCP Server, you can use dhcpd.conf:
...
option geoconf-civic 02:55:53:01:08:4e:65:77:20:59:6f:72:6b:02:0d:4b:69:6e:67:27:73:20:43:6f:75:6e:74:79:03:08:4e:65:77:20:59:6f:72:6b:04:09:4d:61
:6e:68:61:74:74:61:6e:05:13:4d:6f:72:6e:69:6e:67:73:69:64:65:20:48:65:69:67:68:74:73:22:08:42:72:6f:61:64:77:61:79:10:01:4e:11:02:53:57:12:06:41:76:65
:6e:75:65:13:03:31:32:33:14:01:41:15:13:43:6f:6c:75:6d:62:69:61:20:55:6e:69:76:65:72:73:69:74:79:16:0a:53:6f:75:74:68:20:57:69:6e:67:17:10:4a:6f:65:27
:73:20:42:61:72:62:65:72:73:68:6f:70:18:0a:31:30:30:32:37:2d:30:34:30:31:19:0b:4c:6f:77:20:4c:69:62:72:61:72:79:1a:06:41:70:74:20:34:32:1b:01:34:1c:04
:34:35:30:46:1d:06:4f:66:66:69:63:65:1e:06:4c:65:6f:6e:69:61:1f:05:31:32:33:34:35:20:0b:31:33:32:30:33:30:30:30:30:30:33;
...
PIDF Element | Description | CAType | RFC |
country | country | DHCP v4 header | 4776 |
A1 | national subdivisions (state canton region province prefecture) | 1 | 4776 |
A2 | county parish gun (JP) district (IN) | 2 | 4776 |
A3 | city township shi (JP) | 3 | 4776 |
A4 | city division borough city district ward chou (JP) | 4 | 4776 |
A5 | neighborhood block | 5 | 4776 |
A6 | group of streets below the neighborhood level | 6 | 4776 |
PC | postal/zip code | 24 | 4776 |
LMK | landmark or vanity address | 21 | 4776 |
NAM | name (residence and office occupant) | 23 | 4776 |
PLC | Place-type | 29 | 4776 |
PCN | Postal community name | 30 | 4776 |
POBOX | Post office box (P.O. box) | 31 | 4776 |
ADDCODE | Additional Code | 32 | 4776 |
In the above Windows DHCP Server example, the 1st 02 (green) header does not map to the A2 county parish gun (JP) district (IN) but instead to the DHCP Option 99 Header aka the >what< part.
The next 01 New York, 02 (Blue/Red) King's County etc
Using LLDP-MED Location Identification
similar to DHCP LLDP can be used to provide the Location Identification to a Poly phone
LLDP is enabled by default and can be used as a method to gather Location-based information by the phone.
LLDP can provide either the location via the Location Identification and/or the > ELIN <(Emergency Location Identification Number)
Configuring the civic-location identifier as in the above example on a Cisco Switch:
!
location civic-location identifier 1
city London
country UK
county "Greater London"
primary-road-name "My Road Name"
room "Upstairs Home Office"
number 789
!
Configuring the elin-location identifier as in the above example on a Cisco Switch:
location elin-location 0123456789 identifier 1
Assign one or both to a network port:
!
interface FastEthernet0/8
location civic-location-id 1
location elin-location-id 1
!
The Phone will display the Location:
Utilizing the Location Manager logging, in addition, can help to troubleshoot this further via:
Settings > Logging > Global Settings > Global Log Level Limit > Log File Size (Kbytes) > VVX/SPIP/SSIP prior to 5.5.0 = 180
Settings > Logging > Global Settings > Global Log Level Limit > Log File Size (Kbytes) > Trio 8300 & VVX after 5.5.0 = 1000
Settings > Logging > Global Settings > Global Log Level Limit > Log File Size (Kbytes) > Trio or CCX 10240
Settings > Logging > Module Log Level Limits > Location Manager > Event 1
It will show the LLDP received Location:
0114130511|loc |1|00|setCurrent: new current location is "My Road Name, Upstairs Home Office, 789 London,Greater London, UK"
SIP Troubleshooting:
Settings > Logging > Global Settings > Global Log Level Limit > Debug
Settings > Logging > Global Settings > Global Log Level Limit > Log File Size (Kbytes) > VVX/SPIP/SSIP prior to 5.5.0 = 180
Settings > Logging > Global Settings > Global Log Level Limit > Log File Size (Kbytes) > Trio 8300 & VVX after 5.5.0 = 1000
Settings > Logging > Global Settings > Global Log Level Limit > Log File Size (Kbytes) > Trio or CCX 10240
Settings > Logging > Module Log Level Limits > SIP > Debug
The > ELIN <(Emergency Location Identification Number) is in of the P-Asserted-Identity on an SIP Invite:
0119114155|sip |0|00|>>> Data Send to 172.21.177.17:5060
0119114155|sip |0|00| INVITE sip:999@172.21.177.17;user=phone SIP/2.0
0119114155|sip |0|00| Via: SIP/2.0/UDP 10.252.149.59;branch=z9hG4bK965919ef6AA8DD0C
0119114155|sip |0|00| From: "3034" <sip:3034@172.21.177.17>;tag=B2063FDE-6E2A7218
0119114155|sip |0|00| To: <sip:999@172.21.177.17;user=phone>
0119114155|sip |0|00| CSeq: 2 INVITE
0119114155|sip |0|00| Call-ID: 21bf92576cab79d0b118e00a94f2b007
0119114155|sip |0|00| Contact: <sip:3034@10.252.149.59>
0119114155|sip |0|00| Allow: INVITE,ACK,BYE,CANCEL,OPTIONS,INFO,MESSAGE,SUBSCRIBE,NOTIFY,PRACK,UPDATE,REFER
0119114155|sip |0|00| User-Agent: PolyCCX-CCX_400-UA/7.2.0.12360
0119114155|sip |0|00| Accept-Language: en
0119114155|sip |0|00| Supported: timer
0119114155|sip |0|00| Supported: replaces,100rel
0119114155|sip |0|00| Allow-Events: conference,talk,hold
0119114155|sip |0|00| Geolocation-Routing: no
0119114155|sip |0|00| Geolocation: <cid:3034@172.21.177.17>;inserted-by="sip:3034@172.21.177.17"
0119114155|sip |0|00| Supported: geolocation
0119114155|sip |0|00| P-Asserted-Identity: <sip:0123456789@172.21.177.17>
The civic-location identifier is part of the SDP of the same Invite:
...
0119114155|sip |0|00| ----Boundary-1----
0119114155|sip |0|00| Content-Type: application/pidf+xml
0119114155|sip |0|00|
0119114155|sip |0|00| <?xml version="1.0" encoding="utf-8"?><presence xmlns="urn:ietf:params:xml:ns:pidf"xmlns:gp ="urn:ietf:params:xml:ns:pidf:geopriv10"xmlns:ca ="urn:ietf:params:xml:ns:pidf:geopriv10:civicAddr"entity= "sip:3034@172.21.177.17"><tuple><status><gp:geopriv><gp:location-info><ca:civicAddress><ca:A2>Greater London</ca:A2><ca:A3>London</ca:A3><ca:HNO>789</ca:HNO><ca:RD>My Road Name</ca:RD><ca:ROOM>Upstairs Home Office</ca:ROOM><ca:country>UK</ca:country></ca:civicAddress></gp:location-info><gp:usage-rules><gp:re
0119114155|sip |0|00| transmission-allowed>false</gp:retransmission-allowed></gp:usage-rules></gp:geopriv></status></tuple></presence>
0119114155|sip |0|00| ----Boundary-1------
...
If official support is required please check how to phone or open a case here
----------------