Review Board 1.7.16

Resolve remaining issues with SIP object matching in trunk and 1.6.1

Review Request #172 - Created Feb. 23, 2009 and submitted

Russell Bryant
After the merge of the "kill-the-user" patch to remove the sip_user object, various problems with object matching were introduced.  A number of problems were found and reported on the bug tracker and have since been fixed.  This patch aims to fix the remaining issues that exist so that we can proceed with the release process for Asterisk 1.6.1.

1) find_peer() and its uses have been updated to explicitly state whether peers, users, or both object types should be matched when doing a match by name.

2) The calls to find_peer() have been audited and changed as necessary.

There is one place where the code we have here differs in what was documented in team/oej/sip-compliance/sipobjects.txt.  The difference is that registrations _only_ match peers, and not users.  This is to match the previous behavior.  Also, registration processing uses the To header to get the name, and not the From header as documented.
Josh and I have both tested inbound and outbound calls with peer, user, and friend configurations and have seen the expected behavior.  I have also tested registrations and subscriptions, both of which appear to be working as expected.
Review request changed
Updated (Feb. 27, 2009, 9:54 a.m.)
Add a couple of updates to the patch:

1) Remove unused ispeer parameter from build_peer()

2) Fix a problem that lmadsen found when defining a type=peer and type=user with the same name in different configuration entries. runs on a server provided by Digium, Inc. and uses bandwidth donated to the open source Asterisk community by API Digital Communications in Huntsville, AL USA.
Please report problems with this site to