webRTC One phone to be used by many users simultaneously


I have this scenario:

1 extension for queue that has 12 members.

This extension will be called from one wertc phone which must allow simultaneous calls from undefined number of users, all will be in the queue waiting for an agent to pick the call.

12 agents will be in call with 12 users using the same phone settings.

Is it possible, and if it’s not possible this way, what is the best approach?

Thank you in advance

I’m not clear about the significance of “same phone settings”.

More generally, what sort of problem to you expect. I’m having trouble working out why this is scenario is not the basic scenario for an Asterisk queue.

Thank you david for your reply.

The idea is that I’m working on an app that allows any user to call the company and the call will go into queue.

I need to develop only one page that has the call button where all users can use it at the same time and all will be talking to agents at the same time.

I don’t how it could done,

I mean be the same phone settings is the same web page where I called it a phone, sorry for the naming here but I think now you know what I mean.

I’m pretty sure that Asterisk would have to take active steps to prevent multiple calls using the same credentials, but I’m not a WebRTC user.

Why would Asterisk prevent multiple calls using the same credentials, There would be some settings to limit the number of waiting calls in the queue, but to prevent it at all may limit the possibilities of web application integrations.

I imaging the button to call on the web page as the a public phone number which everyone can call, then it depends on you to enable such feature or enable it with some limitations.

My use case requires a multi-call ability from the same webrtc client as the calls will be made from public users and there is no plan to create automated script to create the end point for each user account separately.

I hope there is someone who could answer this point for us.


That’s what I was suggesting. Asterisk isn’t going to take active steps to achieve something if there is no reason to do so. With a simple SIP client, it will accept calls from multiple lines on that client, based on user and password, so I’d expect the same for WebRTC, but not having tried it, I can’t guarantee that.

If a sip client created for the webRTC I think it should work.
We just need the professionals to confirm it now :slight_smile:

You will find that no-one here knows everything about Asterisk.

It’s okay, Asterisk is like an ocean, not necessary to know how to swim and cross it all.

As others told you, extensions in Asterisk, by default, allows simultaneous calls. How you connect to Asterisk (SIP over WebRTC or plain SIP) doesn’t matter.

Unless you specifically configure the extensions to limit either registrations, or concurrent calls, the limit is the hardware you’re running Asterisk on.

Thank you Chano for your reply, yes I understand the extension ability to receive and process concurrent calls. My question is about the in-page webRTC client. for example sipML5, can multiple users use it at the same time with the same configuration or each user will need to use different credentials?, maybe this is the right question.

The WebRTC client has NOTHING to do with Asterisk.

Whenever someone loads up the WebRTC client in your app/on your website, they start up a new instance of the application on their own device.

Your question, as I understand it, is the same as asking if you can run Google Chrome on 2 computers at once, or two people can use a website at the same time.

That’s very good to hear Chano.
So let’s say 2 different users used the webRTC client at the same time, the Asterisk will open 2 connection channel for them (for the different instances as you described) and both will be handles separately depends on the setup either by allocating the call to the available agent endpoint or by waiting in the queue or whatever the setup is.

Is my understanding for your answer correct?

Except from using the same username and password, and if a call is sent to that extension all of the clients would receive it (If registered), they will be completely independant sessions.

In the same way each and every call, no matter the source and destination, are completely separate events, and has nothing to do with each other.

What do you mean?

As I understand and I might be mistaken that the webRTC will need a username and password to connect to the server, the plan is that I will create the sip client on asterisk and provide the credentials to the web developer who will use it to develop the webRTC page that users will use to make a call.

You will need a username and password, true, everything else is asking for trouble, even though you’ll publish the credentials to the users (If they analyze the application).

However, using the same credentials for each user is not a problem, and changes nothing. Each call is a separate event, even when made by the same user.

You’re right. there is a security concern that would cause troubles. We are searching for a solution for how to make a public webRTC client without making the credentials public. The web developer said that it can be handled from server side as well. We need the connection to happen first.

Do you have a recommendation to solve this part?

The developer might be right, if you think of the protocol by it self.

Also you COULD configure Asterisk to only allow the call to your queue, for the WebRTC user, that would reduce the problem to someone making a lot of calls to your queue.

It’s also possible to put some other WebRTC server between the application and Asterisk, but if the sole purpose of the Asterisk setup is to connect your users to your callcenter, other solutions might be better.

But if your agents also needs to answer regular calls, and perhaps perform outbound calls, another piece of software would not be that great.

What I’d do is probably setup an Asterisk box for the sole purpose of handling the WebRTC calls, and forwarding them to my PBX. This box will only have the required modules, and route EVERY single call to the queue on my primary PBX.

So the traffic will flow like this

WebRTC Client → Asterisk 1 → Queue on Asterisk 2.

That would keep your WebRTC solution and phone system separated.

Yes Chano I agree with you that 2 boxes would add a second layer of security in term of separating the phone system from the webRTC solution, but also it add additional efforts that are required not only for one time setup but for the maintenance and security monitoring in 2 machines.

Correct, but a simpler setup on the WebRTC box, would make it less vulnerable to attacks. The dialplan can ignore anything sent from the client, and generate a call to a single extension on the PBX, this can be unauthenticated (Validated by the PBX by IP address only, and also on the PBX be locked to only calling that one queue), so as not to having to store credentials on it, in case of compromise.