Connect. Communicate. Collaborate. Securely.

Home » Kerio User Forums » Kerio Operator » Kerio Operator 1.1 - Device cannot REGISTER : Asterisk 1.4 BUG! (Bug in asterisk 1.4.41)
  •  
akke

Messages: 23
Karma: 0
Send a private message to this user
There's a bug in Kerio Operator which prevents Grandstream HT286 devices (I know they are old, but we are still using about 1000 of them!) to connect with error message "WARNING[2435]: chan_sip.c:9973 in register_verify_asterisk: Failed to parse contact info"

The problem is related to a bug in Asterisk 1.4.41 which Kerio Operator uses as it's internal PBX system.

A Grandstream HT286 device connects with these SIP headers in it's REGISTER SIP command:

Contact: *
Expiry: 0

Now, asterisks 1.4.41 has a bug located in chan_sip.c
in function parse_register_contact() where it does this check:

------------------

int wildcard_found = 0;
int single_binding_found;

.....

if (!strcasecmp(curi, "*")) {
wildcard_found = 1;
} else {
single_binding_found = 1;
}

if (wildcard_found && (ast_strlen_zero(expires) || expiry != 0 || single_binding_found)) {
/* Contact header parameter "*" detected, so punt if: Expires header is missing,
* Expires value is not zero, or another Contact header is present. */
return PARSE_REGISTER_FAILED;
}


------------------


The problem is that single_binding_found is never initialised resulting in the 'if' statement to always be true if the wildcard is found in the contact header.

The solution is simple: initialise single_binding_found to 0 like this:

int single_binding_found = 0;


This will fixed all problems with Grandstream HT286 devices. It's a small change, it doesn't break anything else. So I don't see any reason to not fix this bug in Kerio Operator?

Can this bugfix be incorporated in the next Kerio Operator release?

  •  
akke

Messages: 23
Karma: 0
Send a private message to this user
Just wanted to add that we are using HT286 Rev2.0 devices. The newer Rev3.0 devices don't need this fix because they don't send "Contact: *" headers...
  •  
akke

Messages: 23
Karma: 0
Send a private message to this user
And also wanted to add that this is already fixed in asterisk 1.4.42 too. So upgrading Kerio Operator's internal PBX system to 1.4.42 should solve this problem.
  •  
Vladimir Toncar (Kerio)

Messages: 1696
Karma: 39
Send a private message to this user
Thanks for this detailed report. The diff between 1.4.41 and 1.4.42 seems to be pretty big, so it would require plenty of time for testing to make sure everything is OK. We have already seen a few versions that broke some functionality that was previously working well.

But we can patch just this one error in the next service release.

Vladimir
  •  
akke

Messages: 23
Karma: 0
Send a private message to this user
Thanks. Hope to see a next release soon. And if call parking gets added, we are interested in the software. Currently I have only been playing with the trial version.

I do wonder why Kerio Operator is using 1.4 version and nog the 1.8 one? (or even 1.6) as 1.4 is old and doesn't offer new features 1.6 and 1.8 are having...

  •  
Vladimir Toncar (Kerio)

Messages: 1696
Karma: 39
Send a private message to this user
We will migrate to Asterisk 1.8 in Operator 1.2. We are working on that already, in fact.
  •  
akke

Messages: 23
Karma: 0
Send a private message to this user
Oké, sounds good. Any expected time of release? (Like, will this happen this year, or is it planned for 2012?)

In fact I don't care about asterisk's version, as long as all features we need are there. And asterisk 1.4 offers what I need but Kerio Operator did not yet implement the required features for us. Can you tell me if there's a plan to add more features in the near feature?

The fact that Operator is currently missing call parking and AGI scripting support is preventing us from buying it. We currently use FreePBX. It's opensource and allows AGI scripting and call parking. But it's UI is shit. Kerio Operator's UI is nice and self explanatory which is what we want.

A thirth thing we need is support for the GXW410X devices from grandstream. I can configure them now and accept incomming calls. But Kerio Operator doesn't allow me to configure an outgoing route for it as it only allows outgoing routes for SIP accounts Asterisks is registered with.

A GXW410X is a FXO device that connectes to an extention on Asterisk as a SIP peer. So for dialing out the extensions.conf file needs a Dial(number<_at_>gxw410x) which Kerio Operator currently doesn't support.

But it's not a big deal for us right now as we could setup a separate asterisk server that would sit between Kerio Operator and our GXW410X devices.

So it's realy just two features that we need before we can start using Kerio Operator in production.

[Updated on: Thu, 21 July 2011 20:49]

  •  
akke

Messages: 23
Karma: 0
Send a private message to this user
ON-TOPIC Message: If anyone else is having the same problem as I had with the current Kerio Operator 1.1 Release. Until Kerio Operator releases a new version you can make it work by binary patching chan_sip.so like this:

Find : 0F8439070000
Replace: 909090909090


This will remove the strncasecmp() that will compare the Contact header ('*') (curi variable) and as a result it will allow the HT286 devices to register with Kerio Operator.

(And I'm pretty sure it won't break anything else)

[Updated on: Thu, 21 July 2011 20:45]

  •  
Vladimir Toncar (Kerio)

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

Regarding the GXW410X device, please have a look at this post about SPA3102. Maybe something similar would work for the GXW as well.

Our plan is to release a major version each 6 months, so Operator 1.2 (and new features) can be expected at the beginning of 2012. Your are the first to ask for call parking, and I am not sure what priority to assign to it to be able to compare this request with the items that are already in the backlog. I am going to ask other users about that.

Vladimir


  •  
akke

Messages: 23
Karma: 0
Send a private message to this user
Is there any page that we, the users, can visit to see what's currently in the backlog? We are very interested in Kerio Operator and would like to keep an eye on the current an feature plans.

With new features being added to the next major release, we will probably buy Kerio Operator 1.2 if it, by then, contains the two requirements for us => call parking & AGI

call parking isn't hard to implement into asterisk (in fact, a default asterisk config already contains it Razz). AGI shouldn't be hard either as it's just routing an extension to a script. Both of these things are standard asterisk features.


  •  
Vladimir Toncar (Kerio)

Messages: 1696
Karma: 39
Send a private message to this user
Some of Kerio's products are already using the UserVoice service. Kerio Operator will use it as well, starting with version 1.2. Until then, we have to rely on this forum, the private beta forum, and e-mail. The features I mention in this post are the main part of the list for 1.2, in addition to the upgrade to Asterisk 1.8

Vladimir
Previous Topic: Features
Next Topic: Using WELLGate 3802 with Kerio Operator
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: Wed Nov 22 06:35:19 CET 2017

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