[Asterisk-Dev] Asterisk Forking Contacts?

Olle E. Johansson oej at edvina.net
Thu May 13 05:17:16 MST 2004


Conroy, Lawrence (SMTP) wrote:


> The reflex answer to this is "use SER as a front end & Asterisk
> as a back end for individual extensions and interface/channel cards".
Yes.


> However, this triggered a few random neural firings:
> * is perfectly fine to act as a SIP proxy and in turn to register
> with an external proxy. But...
> I don't see how one can control that external registration so that
> it isn't made if there is not a tied/associated "internal" registration
> from a SIP UA to an * extension.
You are turning it inside out.
Users register with SER. Asterisk "trusts" ser to authenticate users.
Ser have aliases that point to Asterisk.


> (ii) If not, then do we want to consider developing forking (i.e. multiple
> registrations/bindings for a single extension), and how difficult is it?
> It seems to me that something LIKE forking can be done with agent groups,
> but there are pretty major differences, IMHO.
It would require some amazing code to make it work within the current asterisk
architecture. As a PBX, Asterisk wants to be in control of each extension,
connection between a number you dial and a device that rings. If we add multiple
SIP peer registration in the SIP channel, Asterisk looses that one-to-one connection.
If one SIP phone answers busy and another answers "connect" - what should asterisk
think of this "one" SIP peer/user?
That it's shizofrenic and have lost it's mind to zaboogles? :-)

You can have asterisk call two SIP devices on one extension, and Asterisk handles
that perfectly well, since it's aware that you have two different devices on different
SIP peer accounts. This is handled in the dial plan.

This is one of the areas where the philosophy of a PBX and the design of SIP proxies
colllide... It is something we could solve, but it doesn't have high prority in my work now.
There are so many other things that need to be fixed in the SIP channel....

The best solution was somehow to make the dial plan aware that one SIP Peer now forked
into two instances. Then Asterisk could handle the calling to two devices on a
PBX level, not on the SIP channel level. The idea would be
* Oh, another registration for peer "Sune"
* Fork Sune to Sune_0 and Sune_1 by cloning the peer
* Each time the PBX calls Sune, redirect the call to Sune_0 and Sune_1

It's doable. Not easy. Anyone that wants to fund that development effort? :-)
/O



More information about the asterisk-dev mailing list