On Mon, 2015-06-15 at 11:03 -0500, Matthew Jordan wrote: > On Mon, Jun 15, 2015 at 12:43 AM, Nathan Anderson <[email protected]> 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 > > [email protected] > > > > -----Original Message----- > > From: [email protected] > > [mailto:[email protected]] On Behalf Of Ivan > > Demkovitch > > Sent: Sunday, June 14, 2015 7:13 PM > > To: [email protected] > > 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 >
How about ringall strategy with a queue? -- _____________________________________________________________________ -- 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
