Connect. Communicate. Collaborate. Securely.

Home » Kerio User Forums » Kerio Operator » Digium phone support?
  •  
Michael Ruffin

Messages: 169
Karma: 4
Send a private message to this user
Is there any interest in providing auto-provisioning support for Digium phones? We're looking at getting a Digium D70 in to check out, and it seems to have all the features we require at a much lower price point than Polycom phones.
  •  
Vladimir Toncar (Kerio)

Messages: 1696
Karma: 39
Send a private message to this user
Hi,

We currently have no plans regarding the Digium phones but will be glad to hear you experience/option once you test the phone.

Vladimir
  •  
Michael Ruffin

Messages: 169
Karma: 4
Send a private message to this user
Just got the Digium D70... not happy to say the least..
Not sure if it's a problem with the phone we have or not, but can't upgrade the firmware (keeps coming up with an error saying it can't write to disk), and more importantly, the phone doesn't support provisioning by TFTP, only FTP or HTTP..

So I'm assuming that rules it out of being auto-provisioned by Operator..?
  •  
Filip Jenicek (Kerio)

Messages: 1094
Karma: 80
Send a private message to this user
Hi,

Operator supports all three protocols, but there is currently no module for the Digium phone.

Filip
  •  
Michael Ruffin

Messages: 169
Karma: 4
Send a private message to this user
So it is possible to write a module for it then?
(Sorry I haven't had a chance to have a good look at the provisioning modules in 2.2)
  •  
Michael Ruffin

Messages: 169
Karma: 4
Send a private message to this user
Ok so I'm having a crack at writing a provisioning module for the Digium phones, but have come across a question with the provisioning examples:

if (preg_match('~^/Cisco/SPA3[0-9A-Z_-]+/([0-9a-f]{12}).cfg$~i' , $PATH, $matches))

That's for the Cisco phones, I understand that. How would I go about finding out what string the Digium phones send Operator? Is it possible to find out from the Debug log file or something?
  •  
Filip Jenicek (Kerio)

Messages: 1094
Karma: 80
Send a private message to this user
Yes, you can enable the provisioning debug log and look for variable "PATH".

While implementing the built-in modules I quite often used wireshark to capture and analyze packets sent by the phones. Also search google for digium phone provisioning.

  •  
Michael Ruffin

Messages: 169
Karma: 4
Send a private message to this user
Looks like it only uses the MAC address as the config file name, and Operator is trying to push a Polycom configuration to it.

Is there a way of stopping the Polycom config from listening to HTTP? (and the Digium config from listening to TFTP?).
  •  
Filip Jenicek (Kerio)

Messages: 1094
Karma: 80
Send a private message to this user
Yes, disable both the polycom and the yealink/well modules. Both brands use a similar naming convention.
  •  
Michael Ruffin

Messages: 169
Karma: 4
Send a private message to this user
Hm.. problem is, our site has both Polycom and (one) Digium phone, so need provisioning for both at the moment.

If I can get the Digium provisioning working, then we'll have sites with just Digium or Polycom, so it won't be a problem then.

There's no way to change the Polycom provisioning to just listen to TFTP requests?
  •  
Filip Jenicek (Kerio)

Messages: 1094
Karma: 80
Send a private message to this user
Hi,

It might be difficult, but there should be some way how to identify them.

For example, Yealink and Polycom both ask for $MAC.cfg. Luckily we've discovered, that YEALINK phones also ask for the file "y000000000xx.cfg". That's why we've implemented a feature called markers. Basically, when a phone asks for the y000000000xx.cfg, we remember it's ip address and then later when it asks for a $MAC.cfg we know that it is a Yealink.

I'd recommend you to write the module to work by it self, then make a packet dump and analyze it if there's anything interesting or specific one could use to identify the brand. For example, the Grandstream phones send some specific tftp headers.

I can help you with the analysis, either here or on <fjenicek<_at_>kerio.com>.

A method of last resort is to match the phone by MAC addresses. A part of the MAC address always identifies the vendor and is unique. The only issue is that it might not be easy to figure out all possible prefixes.

Filip
  •  
Michael Ruffin

Messages: 169
Karma: 4
Send a private message to this user
If I could provision the phone using the USER AGENT header, that would be perfect in this case...

[04/Dec/2013 14:04:13] {http} [5889] GET request for URI /000fd3062306.cfg
[04/Dec/2013 14:04:13] {http} [5889] User-Agent header: Digium-D70/1_4_0_0_57389
[04/Dec/2013 14:04:13] {http} [5889] File /opt/kerio/operator/www/000fd3062306.cfg in directory /opt/kerio/operator/www not found - throwing exception
[04/Dec/2013 14:04:13] {provisioning} [5889] ProvDispatcher: running ['/opt/kerio/operator/lib/provisioning/prov-generate-wrapper ', 'http', '/000fd3062306.cfg', '192.168.100.110', '192.168.100.90', '-v', 'HTTP_ACCEPT=*/*', '-v', 'HTTP_HOST=192.168.100.90', '-v', 'HTTP_USER_AGENT=Digium-D70/1_4_0_0_57389']
[04/Dec/2013 14:04:14] {provisioning} [5890]prov-gen request: proto=http path="/000fd3062306.cfg" client=192.168.100.110 server=192.168.100.90 noside=0

It looks like the only file being requested is the %MAC%.cfg, so I see how that's a problem, however if we could query the User-Agent header as above, that tells me exactly which phone it is (eg. Digium-D70/*firmware revision*).

Is this possible?

  •  
Filip Jenicek (Kerio)

Messages: 1094
Karma: 80
Send a private message to this user
Yes, it is possible, just use the $HTTP_USER_AGENT=Digium-D70/1_4_0_0_57389' variable.
  •  
Michael Ruffin

Messages: 169
Karma: 4
Send a private message to this user
Sorry... another question...

When you send a sip notify to the phone, it resets, but doesn't reload it's configuration (and therefore any changes that you have made in Operator).

I've found this in the user manual:

Reconfigure

You can also reconfigure the phone from the Asterisk command line interface as follows:

sip notify digium-check-cfg <my sip peer>

This Asterisk command notifies the Digium Phone to get its configuration again.

Not knowing much about sip notify, but is there a way to use this command in the provisioning module? (still trying to wrap my head around it).
Vladimir Toncar (Kerio)

Messages: 1696
Karma: 39
Send a private message to this user
Hi,

The provisioning system does supports SIP notify. Get the developer documentation, and look at pages 3 and 7 in the file intro.pdf. Also look at the example code.

Vladimir
Previous Topic: Default outgoing caller ID
Next Topic: Click to dial Plugin Firefox
Goto Forum:
  


Disclaimer:
Kerio discussion forums are intended for open communication between forum members and may contain information and material posted by members which may be useful in learning about Kerio products. The discussion forums are not intended to provide technical support for any specific product. Any information implied or expressed in the discussion forums is that of the posting member. Kerio is in no way responsible for the information posted in the forums, or its accuracy. Kerio employees may participate in the discussions, but their postings do not represent an offical position of the company on any issues raised or discussed. Kerio reserves the right to monitor and maintain the forums to promote free and accurate exchange of information.

Current Time: Mon Mar 27 10:39:49 CEST 2017

Total time taken to generate the page: 0.01149 seconds
.:: Contact :: Home ::.
Powered by: FUDforum 3.0.4.