[asterisk-dev] "Kill the user" explained

Johansson Olle E oej at edvina.net
Thu Oct 23 04:25:41 CDT 2008

Here's some quick notes about "kill the user" as there's a lot of  

There are still three type= declarations in sip.conf (user, peer,  
friend). This is to comply with the backwards compatibility  
requirements. I did not want to change everything at the same time.

Type=user and type=friend is basically the same. We do (or should)  
match on name on incoming calls for these.
Type=peer is different, we do not match on name on incoming calls on  
these, only on IP.

This way, we have removed the user structure from memory, but maintain  
the same functionality.

This is the fix that Kevin helped me with last week, since I got lost  
in the AO2 djungle and could not find my own way out.

Executive summary:
- "Kill-the-user" is *ONLY* a code change. The functionality remains.
- In the future, we can move ahead and rename type=friend to  
type=phone and start creating new definitions to replace type=peer  
(see http://www.codename-pineapple.org).

As reported in the bug tracker, the current code is a bit confused  
about the flags for the peer. People expected "kill-the-user" to do  
things that wasn't part of this change. Now that Kevin helped me fixed  
a missing piece we can fix all the calls to find_peer and have the  
flags do things right. I will try to get time to review this soon. If  
someone else wants to review the flags set and fix this final part, I  
don't mind.

I now realize that I merged this a bit too early, but I had  
misunderstood the release plan and needed feedback and tests, which  
never happens as long as the code lives in a branch. My apologies.  
This code should not be in 1.6.1, really. Since it's there, let's try  
to fix it.

Never too old to learn...


More information about the asterisk-dev mailing list