[asterisk-dev] Notify with Caller ID

Russell Bryant russell at digium.com
Tue Nov 4 13:31:53 CST 2008

Johansson Olle E wrote:
> Implementing a channel walk for each notify was exactly the reason why  
> we have
> not accepted all the patches for SNOM pickup... I don't really agree  
> with this,
> unless there has been huge changes to channel walks.
> We have to get the information from the source, the sending channel,
> instead of retrieving it in the actual notify. There's a couple of items
> we want to add as attachments in that case, so we might want to
> discuss this.
> If this code was in the bug tracker, I would not accept it for the  
> same reasons
> we did not accept the SNOM pickup code.

There were certainly bigger reasons why the original patch was not 
accepted.  The patch was completely SIP specific.  There was no way it 
would work at all if the caller was not a SIP channel or if the 
extension being monitored was not a SIP channel.  The new code is 
technology independent.

Now, I do agree that walking the channel list is quite expensive.  This 
is part of the reason why this was made an option.  (The second is that 
it doesn't support all possible scenarios based on some architectural 

For systems that are not under very heavy load, while walking the 
channel list is expensive, it's not the end of the world.  I would 
suggest simply supplementing the documentation of the option in sip.conf 
to note that the current implementation has a performance impact for 
systems under load that will make the option unusable.

Having this information delivered with the state change would certainly 
be preferable, but that is going to take some architecture work.  There 
are even more complicated issues to deal with, too, which include 
handling the cases where there are multiple callers calling the 
extension, and various callers hang up, all changing around while the 
extension is still in the same RINGING state.

Russell Bryant
Senior Software Engineer
Open Source Team Lead
Digium, Inc.

More information about the asterisk-dev mailing list