Lee Jenkins
2007-Jun-09 19:13 UTC
[asterisk-users] Polycom sip.cfg / voIpProt.SIP.requestValidation.x.request.y.event
Hi all, My company has pretty much standardized on Polycom phones and I am in the beginning phase of writing a GUI for administering/managing polycom provisioning at multiple sites which we intend to release as OS. I've started studying the docs and I'm having trouble understanding the following xml attribute: voIpProt.SIP.requestValidation.x.request.y.event I understand what it does (at least conceptually) but ss the "x" variable still referring to a server (1 or 2)? And the "y" var, what is it referring to? An event? Which one? "Determines which events specified with the Event header should be validated; only applicable when voIp- Prot.SIP.requestValidation.x.request is set to ?SUBSCRIBE? or ?NOTIFY?. If set to Null, all events will be validated." Please excuse me if it's an obvious question. -- Warm Regards, Lee
Jeff Davis
2007-Jun-10 05:47 UTC
[asterisk-users] Polycom sip.cfg / voIpProt.SIP.requestValidation.x.request.y.event
Lee Jenkins wrote:> > Hi all, > > My company has pretty much standardized on Polycom phones and I am in > the beginning phase of writing a GUI for administering/managing polycom > provisioning at multiple sites which we intend to release as OS.Good luck. I've noticed that Polycom makes changes to the spec on both minor and major releases. I don't know how you will account for this, but as the saying goes; "Damn it Jim! I an admin not a developer!"> > voIpProt.SIP.requestValidation.x.request.y.event > > I understand what it does (at least conceptually) but ss the "x" > variable still referring to a server (1 or 2)? And the "y" var, what is > it referring to? An event? Which one?I believe that the x and y are counters used to group attributes together. The attribute above; voIpProt.SIP.requestValidation.x.request.y.event, depends on voIpProt.SIP.requestValidation.x.request being set to either "SUBSCRIBE" or "NOTIFY". Since you SUBSCRIBE to specific events, this is a way for the phone to validate either all events, or just those you specify. I have not tested the following examples, and welcome any correction from someone who has, but this is my understanding of the settings. The default; <requestValidation voIpProt.SIP.requestValidation.1.request="" voIpProt.SIP.requestValidation.1.method="" voIpProt.SIP.requestValidation.1.request.1.event=""> <digest voIpProt.SIP.requestValidation.digest.realm="PolycomSPIP" /> </requestValidation> Could be; <requestValidation voIpProt.SIP.requestValidation.1.request="NOTIFY" voIpProt.SIP.requestValidation.1.method="" voIpProt.SIP.requestValidation.1.request.1.event="presence"> <digest voIpProt.SIP.requestValidation.digest.realm="PolycomSPIP" /> </requestValidation> Or possibly; <requestValidation voIpProt.SIP.requestValidation.1.request="NOTIFY" voIpProt.SIP.requestValidation.1.method="" voIpProt.SIP.requestValidation.1.request.1.event="presence"> voIpProt.SIP.requestValidation.1.request.2.event="check-sync"> <digest voIpProt.SIP.requestValidation.digest.realm="PolycomSPIP" /> </requestValidation> I believe that you can validate that a check-sync event came from the server and not from some other system on the LAN by: <requestValidation voIpProt.SIP.requestValidation.1.request="NOTIFY" voIpProt.SIP.requestValidation.1.method="source" voIpProt.SIP.requestValidation.1.request.1.event="check-sync"> <digest voIpProt.SIP.requestValidation.digest.realm="PolycomSPIP" /> </requestValidation> Please let me know if you discover that I'm wrong about this, but I believe that is the way it's supposed to work. Jeff -- Jeff Davis Netsource Consulting
Lee Jenkins
2007-Jun-11 12:45 UTC
[asterisk-users] Polycom sip.cfg / voIpProt.SIP.requestValidation.x.request.y.event
Kenneth Padgett wrote:>> My company has pretty much standardized on Polycom phones and I am in >> the beginning phase of writing a GUI for administering/managing polycom >> provisioning at multiple sites which we intend to release as OS. I've > > I'd love to be notified when you release the Polycom admin program!! > What language are you developing it in? If it's PHP, I could help test > or develop... > > -Kenneth > >Its something I'm doing in my spare time. Sorry, I'm writing it in Freepascal/Lazarus (we are primarily Delphi/Freepascal shop here) but you're welcome to "get yo pascal on" if you like ;) At any rate, we'll host it initially on subversion. It will be released under LGPL, I think. I will post updates to its status to the .biz list which I think would be more appropriate. -- Warm Regards, Lee
Lee Jenkins
2007-Jun-14 07:00 UTC
[asterisk-users] Polycom sip.cfg / voIpProt.SIP.requestValidation.x.request.y.event
Lee Jenkins wrote:> > Hi all, > > My company has pretty much standardized on Polycom phones and I am in > the beginning phase of writing a GUI for administering/managing polycom > provisioning at multiple sites which we intend to release as OS. I've > started studying the docs and I'm having trouble understanding the > following xml attribute: > > voIpProt.SIP.requestValidation.x.request.y.event > > I understand what it does (at least conceptually) but ss the "x" > variable still referring to a server (1 or 2)? And the "y" var, what is > it referring to? An event? Which one? > > "Determines which events specified with the Event header should be > validated; only applicable when voIp- > Prot.SIP.requestValidation.x.request is set to > ?SUBSCRIBE? or > ?NOTIFY?. > If set to Null, all events will > be validated." > > Please excuse me if it's an obvious question. >Just as a breadcrumb, here is what Polycom support says of the this portion of the XML config: "The voIpProt.SIP.requestValidation parameter is used for validation. The validation is used for security purposes. To set it up properly, you have the following parameters involved which compose the overall "validation" feature. The parameters involved are: voIpProt.SIP.requestValidation.x.request voIpProt.SIP.requestValidation.x.method voIpProt.SIP.requestValidation.x.request.y.event voIpProt.SIP.requestValidation.digest.realm Explanation: voIpProt.SIP.requestValidation.x.request With this parameter, you can specify which methods you want the phone to validate. The list of methods allowed as values are listed in the Admin Guide. Ex: if you wanted to use validation against all INVITES, this parameter would look like this voIpProt.SIP.requestValidation.INVITE.request voIpProt.SIP.requestValidation.x.method This parameter defines the method of validation to be used. The list of methods allowed as values are listed in the Admin Guide. The three methods are source, digest or both. If you wanted to use source as the method, the parameter would like this voIpProt.SIP.requestValidation.source.method. This means that when the phone is using voIpProt.SIP.requestValidation.INVITE.request it will apply voIpProt.SIP.requestValidation.source.method and validate that the INVITE is coming from the IP address specified on its line registration. voIpProt.SIP.requestValidation.x.request.y.event This parameter is only used when you specify voIpProt.SIP.requestValidation.x.request to be voIpProt.SIP.requestValidation.SUBSCRIBE.request or voIpProt.SIP.requestValidation.NOTIFY.request. This parameter will also do validation based on the method used on voIpProt.SIP.requestValidation.x.method against the EVENTS within a ?SUBSCRIBE? or ?NOTIFY?. Since the RFC for SIP may have different events, the list is not provided in the admin guide. For an updated list of EVENTS please check the RFC. A less updated list of EVENTS used within a NOTIFY is as follows: conference dialog message-summary presence refer reg winfo voIpProt.SIP.requestValidation.digest.realm In this parameter you can specify a string which you have also specified on your server. The value can be any valid string. Once the phone advertises the string, the server will match it against is list of allowed users challenging the phone for an user name and password using authentication digest. Generally, this string contains the name of the host performing the authentication." -- Warm Regards, Lee