[Asterisk-Users] Update: Welltech Wellgate 3504A registration problem

Dinesh Nair dinesh at alphaque.com
Mon Sep 20 14:16:42 MST 2004


On 20/09/2004 18:15 Leo Ann Boon said the following:
> a) The gateway will register all 4 ports if you're not using password.
> b) If using password, the gateway will only register the 1st port 
> correctly.

yes, and this is why, as i posted a week back:

i think i've nailed it down to the fact that the 3504A (firmware 107a) uses 
the same SIP Call-ID but changes the tag= parameter in the From header when 
it responds to the 407 Proxy Authentication response from asterisk, thus 
leaving asterisk with no way to match the REGISTER  packet with auth 
credentials against the original REGISTER packet sent by the 3504A. based 
on my reading of RFC3261, this violates the RFC, but perhaps someone with 
better SIP kung fu could chip in to correct me if otherwise.

essentially, by not keeping to the same Call-ID or tag, asterisk has no way 
of matching the wellgate's register with the past proxy auth packet (and 
thus the hashed md5 token).

this has been reported to WellTech, but we've yet to get a response from them.

i've fashioned a patch which solves this behaviour and it works fine under 
asterisk 0.9.0 on freebsd and 1.0-RC1 on linux.

i've got the patches for 0.9.0 and 1.0-RC1, and will be glad to email them 
if anyone wants them. the patch adds a new option under [general], 
'usenonce'. if usenonce=yes (default is no, normal asterisk behaviour), 
then asterisk will use the nonce tag as sent by the wellgate to double 
check it's credentials and let it thru. this allows all 4 ports on the 
3504A to be registered with a password.

-- 
Regards,                           /\_/\   "All dogs go to heaven."
dinesh at alphaque.com                (0 0)    http://www.alphaque.com/
+==========================----oOO--(_)--OOo----==========================+
| for a in past present future; do                                        |
|   for b in clients employers associates relatives neighbours pets; do   |
|   echo "The opinions here in no way reflect the opinions of my $a $b."  |
| done; done                                                              |
+=========================================================================+



More information about the asterisk-users mailing list