Invalid Model Shown

Apr 11, 2012 at 9:46 PM

We have Snomtastic basically set up and assigning configs to our 821 phones. However, both the model and firmware are blank. I believe this is related to the User Agent not being parsed properly.

Under "Model" on the phones summary, it shows "(compatible;" and then "snom821-SIP" is shown under firmware. It looks like perhaps the space or semicolon is causing the issue. 

This happens with all of our 821 phones.

Any suggestions?

Bradford Schleifer

Apr 16, 2012 at 3:51 PM

Are there any actual support channels for this software? We are quickly moving forward with our implementation, and I would love to be able to centrally manage our SNOM devices.

It is a little odd that SNOM recommends this software on their website, but there does not seem to be any real support.

(I understand this was released to help others, but it would be great if SNOM picked up development and ran with it.)

Thank you in advance for any assistance!

Coordinator
Apr 17, 2012 at 12:22 PM

Unfortunately I've moved on from my old (work) role, and I'm sure Jamie has been busy taking on the additional work. Equally, there hasn't been much activity from a community perspective, especially lately.

I do intend to pick this up and look at the issue, and hopefully get some other things done, but Jamie has done all the coding to date. It's evidently a parsing issue so I doubt it'll be too hard once I have it in hand.

Apr 17, 2012 at 12:27 PM

Please note that my emails were not digs on the original developers. You did a wonderful service, and my dig was more into Snom for not picking up the project and supporting it. They recommend Snomtastic on their website, and are basically getting a free lunch. This software is the only thing that has kept me from packing up my Snom phones and returning them.

Thank you for your help. Anything from me that would make it easier? I am running Snomtastic on Hyper-V VM, running Windows 2008R2. There is nothing else on the box but Snomtastic (and related services).

Coordinator
Apr 17, 2012 at 3:01 PM

No problems at all, I didn't take it as a dig :-)

Snomtastic was always a labour of love for us, to meet a real business challenge. It was a mix of my ideas and Jamie's skills to put together, and we really relied on both the wiki and some reverse engineering of Snom behaviour to make it work.. we solved some really interestingly challenges along the way. It was done to support our employer's phone rollout, but we felt we'd come up with something fairly unique and with some value .. commercialisation was never an option, but we got permission to open source it, and I think it's safe to say that we're proud of both what we created, and of getting it out to the community. I can't really speak to Snom's recommendation for it .. it does address very real challenges with OCS/Lync on Snom hardware, though.

There's always been some problem in 'supporting' it as such, especially with Jamie moving on to other priorities. I guess for the most part the hope of getting community contributors has largely not come to fruition, but now that I'm a free agent I'd like to look at doing more with it. Perhaps if there's some activity, it might encourage other contributors. It's certainly a niche area, although I always figured it could be used for more than just OCS/Lync integration.

It might be of use to get the relevant log details around the requests/user agent sent by the 821. If there's been a change in the firmware string, that's the most likely cause, but it could be something even easier. I'm a little rusty on a few aspects since it's been some months since I looked at it, but I should pick it up. Who knows, if I get things moving, I might be able to ask for some help from people in funding a lab environment to make this easier :-)

Apr 17, 2012 at 5:19 PM

If SNOM ever wants to be ready for wider adoption, it needs tools like this to aid in rollouts. On their website they link to Snomtastic, while describing that Snom phones can be centrally managed. 

You can see it here: http://www.snom.com/en/products/unified-communications/microsoft-lync-qualified-products/key-snom-differentiators-on-lync/ (middle of the page under manageability.

Here is are the GET requests from the phone the phones that may help:

-0-

2012-04-17 17:13:55 192.168.0.81 GET /phone/phone.aspx mac=000413453493 80 - 192.168.0.223 Mozilla/4.0+(compatible;+snom821-SIP+8.7.2.16+SPEAr300+SNOM+1.4+OCS) 200 0 0 0

2012-04-17 17:13:55 192.168.0.81 GET /phone/firmware.aspx mac=000413453493 80 - 192.168.0.223 Mozilla/4.0+(compatible;+snom821-SIP+8.7.2.16+SPEAr300+SNOM+1.4+OCS) 200 0 0 0

-0-

The result is that "(compatible;" is listed as the Model and "snom821-SIP" as the Firmware.

Thanks! 

Apr 17, 2012 at 10:13 PM

I had my developers have a look at the project and they included some of the fixes. This is the first of several to get the model/firmware working.

In the project shfa.snomtastic.data, file UserAgentInfo.cs (line 30):  

details = sIn.Replace("snom m9", "snom-m9"); // hack

 Should be: 

details = details.Replace("snom m9", "snom-m9"); // hack

I will send the others later.

Coordinator
Apr 18, 2012 at 12:17 AM

Yeah, the string definitely has differences from what I remember - thanks, that's perfect, and thanks for the fix(es), every bit counts.

Apr 18, 2012 at 1:16 PM

From my developers, they made some changes to how things were compiled:

"The other changes were that we changed the platform target cpu on shfa.snomtastic.phone and shfa.snomtastic.root from x64 to Any CPU."

Apr 18, 2012 at 1:21 PM

Here are there other updates. I hope this helps:

Before:

private string[] SpiltAgent(string sIn)

{

string details = sIn.Substring(sIn.IndexOf("("), sIn.Length - sIn.IndexOf("(") - 1);

details = sIn.Replace("snom m9", "snom-m9"); // hack

       return details.Split(' ');

}

After:

private string[] SpiltAgent(string sIn)

{

string details = sIn.Substring(sIn.IndexOf("("), sIn.Length - sIn.IndexOf("(") - 1);

details = details.Replace("snom m9", "snom-m9"); // hack

       return details.Split(' ');

}

Coordinator
Apr 18, 2012 at 10:57 PM

Oops, never had an M9 to test.

Assuming that the '+' character is from the reporting tool (IIS logs?) and the useragent actually contains spaces, then it appears to be a valid snom style useragent and should be recognised (or at least one that should parse). The model may not be defined in snomtastic. This can be done in the snomtastic web interface under models. the Model Name should be "snom821-SIP".

If this is already defined, can you post the useragent that is actually stored in the Phone table in the database?

 

 

 

 

Apr 19, 2012 at 2:29 AM

After our developers did whatever they did, everything is now working fine. That said, there were parsing issues for all phones. They discovered it was related to how the code was compiled when running on Windows Server 2008 R2, running on a VM. After they allowed "any cpu" instead of just X64 things worked fine.

To answer your question, here is the user agent: Mozilla/4.0 (compatible; snom m9 9.6.2-b)

Apr 20, 2012 at 4:51 PM
Edited Apr 20, 2012 at 4:53 PM

Note that this update is against the Source 1.2.1 link in the downloads section on codeplex. It does not seem that the "hack" line is in place on the current version that is posted if you browse the source directly on codeplex, only in the download link.