[asterisk-bugs] [Asterisk 0017700]: [patch] When matching peers check invite from domain against domain list
Asterisk Bug Tracker
noreply at bugs.digium.com
Tue Jul 27 13:34:22 CDT 2010
A NOTE has been added to this issue.
======================================================================
https://issues.asterisk.org/view.php?id=17700
======================================================================
Reported By: rsw686
Assigned To:
======================================================================
Project: Asterisk
Issue ID: 17700
Category: Channels/chan_sip/Interoperability
Reproducibility: N/A
Severity: minor
Priority: normal
Status: acknowledged
Asterisk Version: 1.6.2.11-rc1
JIRA: SWP-1943
Regression: No
Reviewboard Link:
SVN Branch (only for SVN checkouts, not tarball releases): N/A
SVN Revision (number only!):
Request Review:
======================================================================
Date Submitted: 2010-07-24 21:29 CDT
Last Modified: 2010-07-27 13:34 CDT
======================================================================
Summary: [patch] When matching peers check invite from domain
against domain list
Description:
In trying to get the Exchange UM play on phone feature to work I developed
this patch. Exchange UM is sending the below SIP invite. Asterisk ignores
the domain when finding a matching SIP peer based on username. Since the
invite from field matches a device in sip.conf with a secret Asterisk is
responding with unauthorized. What I needed was for Asterisk to IP match my
sip peer with insecure=port,invite.
INVITE sip:2001 at voip.mydomain.net;user=phone SIP/2.0
FROM:
""<sip:2001 at exch.testdev.local;user=phone>;epid=079E8F8013;tag=849256682
TO: <sip:2001 at voip.mydomain.net;user=phone>
The debug output looks like
Using INVITE request as basis request -
5c97e0f0-5456-4b82-a7f4-e7f2adeba338
Found peer '2001' for '2001' from 10.10.1.31:19219
The patch address the issue by checking the from domain when domain
support is enabled. In my configuration I just needed to enable
autodomain=yes in sip.conf.
Now the debug output looks like
Using INVITE request as basis request -
54d10d2e-01d1-451e-b21a-ef4bba987a0f
Unknown peer from domain exch.testdev.local
Found peer 'exchange-vm' for '2001' from 10.10.1.31:37810
For those not utilizing domain support this will have no effect. In my
testing with Polycom and Linksys phones all setup the invite with From:
userid at registrationserver.
======================================================================
----------------------------------------------------------------------
(0125135) oej (manager) - 2010-07-27 13:34
https://issues.asterisk.org/view.php?id=17700#c125135
----------------------------------------------------------------------
Asterisk doesn't bother with domains today, more than for REGISTER
messages, the rest is something you add to the dialplan. I would like to
see a REGISTER from your server to understand what your problem really is
and why we don't match the list of configured domains, which we should.
We need to add the domain like you write, but that would change the peer
matching totally, something I plan to do now after 1.8. If you look into
the code there are already hooks for being able to set domain-specific
settings instead of having only one [general] setting.
Asterisk currently has only one name space for type=users, where we match
on the username part and not the domain part. For peers, we don't match on
name at all on INVITES, only on IP if there's no type=user for that name.
There are several documents on the web that explains our matching scheme.
I do agree with you that the long term solution is to skip
user/peer/friend and move to full matching on AORs. But that's a lot of
work and won't be backwards compatible.
Issue History
Date Modified Username Field Change
======================================================================
2010-07-27 13:34 oej Note Added: 0125135
======================================================================
More information about the asterisk-bugs
mailing list