Achieving Shared CALL Appearance (SCA, not SLA)

Hello FreePBX Gurus and Users,

I’m attempting to use FreePBX with Asterisk 1.8.13, both compiled from source on Ubuntu 11.10 x64 with a 1000hz kernel. I’ve also added the Endpoint Manager to FreePBX to help with configuring the phones themselves. The hardware we’re using is Polycom IP550 phones. The server is an AWS EC2 instance running in the free tier. I can post more on that if you guys like, just ask :slight_smile:

I would like to use FreePBX along with some SIP trunks to effectively replace the service that we’re currently getting from a VoIP telephony provider, and one of the biggest requirements we have for the functionality of our phones is Shared Call Appearance. As it stands, I’ve read up on what I could about SCA from the various threads I’ve found in the forums, particularly this one. I’ve switched FreePBX from the default Extensions mode into Device and User mode, but upon rebooting the phones, I’m still having the problem where the last-registered device is the only one receiving calls to the extension (or user, I believe) that both phones have been assigned. I think it is worthwhile to add that the configuration files they’re using were generated before I made the switch from extension to deviceanduser mode.

Anyway, what I’m trying to get is a set of line appearances on the phones that looks like the following:

>> Main
>> Main
>> Main
>> 101

Where “Main” is a line/user that receives all of our incoming calls that are our published numbers, and “101” is a way to reach that particular phone for the purpose of transferring calls or dialing from one desk to another.

Using endpoint manager’s LineKeys setting inside of a template, I can get this particular layout to show up on the phones I’m testing with, but I can’t seem to get both of the phones to ring when Line1 is assigned to that “Main” user. Both phones can make calls as that user by dialing against the proper line appearance, but only the last-registered one will ring.

As much as I’d like to eschew the SCA model and move to something more-likely to work, such as using Ring Groups, we need to be able to forward the “Main” line over to a cell phone or something by using *72 from any of the phones, and also be able to disable call forwarding of that line from any other phone (not just the one that forwarded calls in the first place). In order to meet those requirements back when we had our hosted system set up, SCA was the only solution they could come up with, and reading here, it’s the only one I can come up with too. Furthermore, while SLA would theoretically work, I can’t put the phones into a situation where one person being on their own phone will “tie up” line appearances for other people… I’ve gathered from reading here that the majority of you seem to think that’s pretty dumb anyway :wink:

So! Can anyone attest to whether or not I can get this to work with FreePBX and Endpoint Manager? Do I need to write configuration files for the phones myself? Is it possible I’m doing something wrong? I’ll continue to tinker at this over the coming days, but any help offered would be greatly appreciated!

Andrew Bobulsky

1 Like

I’m planning on buying SIP trunks from Skype (or someone else, it’s really just a price thing). So while yes, currently our call forwarding is implemented by our carrier, it’s done within their PBX, but as a property of the shared user account that all of the phones are connected to.

I’m pretty sure that once call routing is left to my implementation, there’s no one to pass the feature code along to :stuck_out_tongue:

What you want to do is not supported by FreePBX or Asterisk.

The Channel SLA driver is available outside of FreePBX.

I’m sorry, but I don’t know how to be any more specific. You linked to Shared LINE Appearance, or SLA. I’m trying to do Shared CALL Appearance, or SCA.

SLA = Asterisk as a Key system. Alice answers a call ringing the first line appearance, and now Bob and Calvin’s phones have only 3 “unused” line appearances left. They could “hop in” to Alice’s call by picking up the “in use” line appearance.

SCA = A call comes in to the “shared user’s” DID. Alice, Bob, and Calvin’s phones all ring, showing a call on the first line appearance. Alice beats Bob to picking up her handset, and Dan is on the phone. Bob picks up his handset a split-second later, and gives a hearty greeting to the sound of a dialtone.

While Alice is still on the phone, another call comes in to the “shared user’s” DID. Again, Alice, Bob, and Calvin’s phones all ring, Bob and Calvin’s phone show their first line appearance ringing, but Alice’s phone–because her first line appearance is in use on her call with Dan–shows the second line appearance ringing. She puts Dan on hold and answers that second line appearance. Bob, again, picks up the phone a split-second later, and gives another hearty greeting to the sound of a dialtone. Poor Bob. :stuck_out_tongue:

I apologize if I have the terminology wrong, but I’m pretty sure that’s what I’m looking for. The guy in the post I linked even tried to point this out, but the real difference between the two is not very well defined from what I can see. I’m particularly confused here because I seem to have my FreePBX install set up to accommodate this, but it doesn’t seem to be working.

1 Like


Create a Ring Group. Add your extensions to the ring group and point the DID to the ring group.,

Forget the acronyms, you can’t register two phones (or more) phones to the same device. All devices have to be discreet.

If you want the key to light up when someone is on the phone, and if you want the ability to put the call on hold and pick it up at another device, my link is your only option.

If you just want rollover lines, as Tony mentioned a ring group will work just fine.

Thanks for the suggestion… But I don’t think that’ll work because of the following requirement:

Perhaps there’s a workaround, like defining a special feature code, but my goal here is to duplicate the current setup as accurately as reasonably possible. If I have to start learning asterisk configuration then I can evaluate that option, but I’d really like to use FreePBX for it, because it seems like it’s been said is a supported configuration. I could provide some screenshots of the admin panel in the current hosted setup we have if that could help anyone determine something!


Oops. Double post :slight_smile:

The call forwarding requirement will be a tough one to meet. The feature codes in FreePBX are tied to users not routes.

Indeed! That’s why I’m searching for SCA. I reasoned that doing some kind of custom feature code (and replacing or moving the built-in *72/73) that would be as straightforward as dialing *72 to forward all “main DID” calls to a separate line, but it seems as though that involves a lot of the core Asterisk arcana that I’m totally unfamiliar with. If it’s the only option I have to get this done, then as I said, I’ll see if I can pull it off, but it appears that Shared Call Appearance is the option that accommodates this best. It seems logical to me that the guys that set up the call routing from the current hosted VoIP provider based on this need implemented SCA because it was a good fit for the needs, rather than the only option! …right? :smiley:

Thanks SkykingOH :slight_smile:

Take a look at time conditions. If call forwarding from the main number need only be done to a single number (or a very small set of numbers) you can use Time Conditions with a manual feature code to enable/disable forwarding.

Time conditions… While a true time condition in the sense of “During this time of day, ring local, outside of that time, ring external number ####.” That won’t work because it’s too inflexible, but I don’t think you’re actually suggesting that.

Are you suggesting creating Time Conditions, one for each “call forward target,” set to be active 24 hours a day, then enabled/disabled with feature codes depending on who the calls are being forwarded to?

If so, that’s far from ideal, but very clever. Thanks for the suggestion :slight_smile:

Are you using call forwarding from your carrier? If so than create a outbound route with something like 9999 and than strip the 9999 and just pass *72 to your carrier?