[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
problems.)
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