On Mon, Jun 15, 2015 at 12:43 AM, Nathan Anderson <nath...@fsr.com> wrote: > What you want is called SIP call forking, and unfortunately, last time I > checked (before Asterisk 12 and the advent of PJSIP), Asterisk's SIP channel > driver does not support it, and I would be shocked if Asterisk 12+ changes > this situation. You can even see that people have written and submitted > patches for this in the past, but they have been rejected: > > https://issues.asterisk.org/jira/browse/ASTERISK-13614 > > It has apparently been a somewhat contentious issue. Asterisk's philosophy > is that it is not a SIP proxy, but a multiprotocol PBX that also happens to > support SIP endpoints, and so the channel drivers need to be as generic as > possible and anything that can be passed on to the dialplan to be handled in > a uniform and consistent fashion should be, and that would include call > forking. The developers do not want for there to be two places (a universal > way and a channel-specific way) where this kind of functionality can be > configured.
Generally speaking, this is still true. Sometimes some SIP things bleed up a bit - after all, there are specific functions and applications for both SIP channel drivers - but we try to keep Asterisk as generic as possible in the dialplan. > You *can* fork calls with Asterisk; don't get me wrong. Simply specify > multiple endpoints to ring when you execute the Dial() application, > concatenating them together with ampersands, like so: > > [office-phones] > exten=555,1,Dial(SIP/555&DAHDI/g0/5551212&SIP/567) > > As you can see, you can mix-and-match channel technologies in this way. In > the above example, when a call for extension 555 is received within the > office-phones context, the SIP user 555 is called, the SIP user 567 is > called, and the PSTN phone number 555-1212 is called, all simultaneously. > The first phone to answer the call gets it. > > The problem that I have with this method is that if a particular channel > technology or protocol has a mechanism specifically for performing call > forking defined within the standard/spec for that protocol (as SIP does), > there is no way with Asterisk to take advantage of the channel-specific way > to accomplish this. > > Let me unpack this a bit more. As you can see, with the above example, if > your published extension number is 555, and you want to have two different > SIP phones ring at the same time when you get a call, you can't actually > register them both to your Asterisk server as user '555'; they each need to > have unique SIP usernames. So you have one phone that is registered as 555, > another one that is registered with a throwaway extension number (567), and > then you instruct Asterisk to send the call to both 555 and 567. Because > Asterisk's SIP implementation does not support native SIP call forking and > also assumes unique usernames for every SIP peer, if you try to register two > SIP endpoints with the same username (e.g., 555), the second registration > will actually be successful, but it will *overwrite* the registration for the > first phone in memory, meaning that the phone that first registered with that > username will stop receiving calls and only the second phone will get those > calls. And as the SIP registration timer expires for each phone and they > refresh their registrations with the server, they will be constantly > overwriting each other's registrations, so incoming calls will constantly > switch between which phone is getting the calls. It's a mess. This is true for chan_sip. It is not true for the PJSIP stack. The PJSIP stack does allow for multiple devices to register contacts to a single Address of Record (AoR). You can then dial contacts individually, or dial all contacts on an AoR using the PJSIP_DIAL_CONTACTS function. I would say that configuring the PJSIP stack in such a fashion is one of the more "advanced" uses, and there are some gotchyas going with that configuration (mostly related to device state). But it is possible. > It's not that a single SIP registrar or proxy cannot have multiple endpoints > registered to it with the same username; this is actually specifically > allowed by the spec and many SIP-only proxies support this. It's just that > Asterisk does not, which means that you have to resort to (IMO) ugly hacks > like creating a bunch of unpublished extension numbers for your additional > phones. I completely understand where the developers are coming from, but it > would be great if this tension between the Asterisk philosophy and the need > for this feature could be resolved via some sort of compromise, like, for > example, allowing for the SIP channel driver to accept and track multiple > registrations for the same SIP user, and then exposing each of these > registrations as separate entries in the peers table that can be individually > addressed within the dialplan. Or something. > > -- > Nathan Anderson > First Step Internet, LLC > nath...@fsr.com > > -----Original Message----- > From: asterisk-users-boun...@lists.digium.com > [mailto:asterisk-users-boun...@lists.digium.com] On Behalf Of Ivan Demkovitch > Sent: Sunday, June 14, 2015 7:13 PM > To: asterisk-users@lists.digium.com > Subject: [asterisk-users] Calling multiple phones at ones > > Hello group! > > I’m new to Asterisk but got one running finally :) > > Now I’m trying to solve following problem. I have company Automated Attendant > and each employee have > SIP phone at home, SIP phone in office, cell phone. > > I want all those 3 phones to be “one”. So, if someone calls our company > number and dials my extension - I’d like 3 phones to ring at the same time. > > What is this feature and where should I look for samples, etc? I’m going by > “Asterisk: The definite guide” book and pretty confident with those concepts > described but not sure > how to achieve what I described above. > > Thank you, > Ivan > -- > _____________________________________________________________________ > -- Bandwidth and Colocation Provided by http://www.api-digital.com -- > New to Asterisk? Join us for a live introductory webinar every Thurs: > http://www.asterisk.org/hello > > asterisk-users mailing list > To UNSUBSCRIBE or update options visit: > http://lists.digium.com/mailman/listinfo/asterisk-users > -- > _____________________________________________________________________ > -- Bandwidth and Colocation Provided by http://www.api-digital.com -- > New to Asterisk? Join us for a live introductory webinar every Thurs: > http://www.asterisk.org/hello > > asterisk-users mailing list > To UNSUBSCRIBE or update options visit: > http://lists.digium.com/mailman/listinfo/asterisk-users -- Matthew Jordan Digium, Inc. | Director of Technology 445 Jan Davis Drive NW - Huntsville, AL 35806 - USA Check us out at: http://digium.com & http://asterisk.org -- _____________________________________________________________________ -- Bandwidth and Colocation Provided by http://www.api-digital.com -- New to Asterisk? Join us for a live introductory webinar every Thurs: http://www.asterisk.org/hello asterisk-users mailing list To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users