[asterisk-commits] oej: branch oej/sip-compliance r172819 - /team/oej/sip-compliance/sipobjects.txt

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Mon Feb 2 05:01:47 CST 2009


Author: oej
Date: Mon Feb  2 05:01:47 2009
New Revision: 172819

URL: http://svn.digium.com/svn-view/asterisk?view=rev&rev=172819
Log:
Adding some documentation for review to try to clean up the kill-the-user-mess

When we're in agreement about this, we need to hack the code. I don't think
this is the current state.

Added:
    team/oej/sip-compliance/sipobjects.txt   (with props)

Added: team/oej/sip-compliance/sipobjects.txt
URL: http://svn.digium.com/svn-view/asterisk/team/oej/sip-compliance/sipobjects.txt?view=auto&rev=172819
==============================================================================
--- team/oej/sip-compliance/sipobjects.txt (added)
+++ team/oej/sip-compliance/sipobjects.txt Mon Feb  2 05:01:47 2009
@@ -1,0 +1,65 @@
+Edvina AB
+Olle E. Johansson
+2009-02-02
+
+
+Peers, users, friends? What are they? 
+Objects in Asterisk's SIP.conf
+-------------------------------------
+
+This documentation covers svn.trunk and the 1.6.1 branch and is made to try to sort up the
+issues with the premature merge of kill-the-user and the confusion about it.
+
+Notes:
+
+1. Kill-the-user was a first step to change Asterisk's SIP objects. It did change the 
+   internal structure but should not change the configuration.
+2. The sip_user object was removed from the code, since the sip_peer object can carry
+   exactly the same data
+3. For a type=friend, only one (previous two) objects is created in-memory. This is
+   not only about saving memory, but also a change to make status easier to keep.
+
+
+Type declarations in sip.conf
+============================
+A user
+- Accept incoming calls only
+- Matches on username, never on IP
+
+A peer
+- Outbound calls on name in the dialplan - dial(SIP/peername)
+- Inbound calls match on IP/port
+
+A friend
+- One user object for matching inbound calls on name
+- One peer object for outbound calling 
+This is a configuration shorthand in previous releases
+
+Matching logic
+==============
+Matching logic on outbound calls:
+- Do not match objects declared as type=user
+- Match type=friend and type=peer
+
+Matching logic on inbound calls:
+
+- First match on username for type=user and type=friend objects
+- Then match on ip/port on type=peer objects
+
+Matching logic on subscriptions and registrations:
+- Match on From username with all objects.
+
+TODO
+====
+We need to revise that this is done properly in 1.6.1 and trunk.
+
+Future enhancements
+==================
+
+- Match incoming calls on key used as registration contact, send call to extension
+  Maybe this is type=service
+- Match not only on username, but on given domain too for incoming calls, registrations and subscriptions
+  in order to separate namespaces between domains, so info at edvina.net is different from info at asterisk.org
+- Implement matching on From:domain on incoming calls, ignoring the username. This is for SIP trunks
+  with the other end sending from multiple servers (limited by ACL), but always from the same domain.
+  This is type=trunk

Propchange: team/oej/sip-compliance/sipobjects.txt
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: team/oej/sip-compliance/sipobjects.txt
------------------------------------------------------------------------------
    svn:keywords = "Author Date Id Revision"

Propchange: team/oej/sip-compliance/sipobjects.txt
------------------------------------------------------------------------------
    svn:mime-type = text/plain




More information about the asterisk-commits mailing list