New VoIP Reseller Questions

I have a dental software company that works extensively with patient communication, Asterisk is used for all automated phone calls to patients, as well as our own office phones.

I am interested in extending that service to handling the phone services of the offices we support, but am rather new to this type of usage and so wanted to ask a couple probably basic questions.

Our reason for extending into the space is to have access to Caller ID info to bring up patient info on incoming calls, statistics, integrate outbound calls from the practice management software and such.

We have an account with Bandwidth as one of our VoIP providers, which comes in to our main Asterisk server. Main server has dual 8 core 2.9Ghz processors with 160GB RAM running Asterisk 13.17.0. This server is set up with sip.conf. Our server for our office lines uses pjsip.conf and runs Asterisk 16.9.0. So I have some familiarity with both setups, but there is no communication between the two setups.

For a dental office to subscribe, I assume that the firewall configuration would have to be updated to do port forwarding, but it seems that while it could be simple for a single phone, if there were multiple extensions, the can’t all be on port 5060.

That leads me to wonder if I should have something like a Raspberry Pi with Asterisk preconfigured to connect to my main server, and treat the main server as a SIP Trunk, and then each desk phone would connect with the local Raspberry Pi?

For a service like RingCentral, if they wanted to have multiple office phones, would they need a dedicated PBX inside the office, or does each phone connect directly with the RingCentral VoIP server?

Do the remote offices need to get static IP addresses?

If I want to use TLS, can I use pjsip, or only sip?

Maybe most importantly, is Asterisk the right place to start, or should I be looking for another product?

You in no way have to become a VoIP reseller and give services to offices you support just to get the CallerID information to bring up patient data. This is a common feature of many CRM platforms and something that could be programmed into Asterisk.

My suggestion, with the new laws and changes recently, is to avoid doing this without having any real experience or knowledge for it. As I said you don’t need to be a reseller to achieve the goal you want.

I looked into using packet sniffing / arp spoofing and other ways of getting the CallerID without being the provider, but it all seemed troublesome. We are already going to be porting the sms portion of their numbers into our system to do hosted messaging, it just seemed a natural step to try offering some VoIP to a couple and see how it goes.

So you’re saying none of your incoming calls have CallerID data being presented to you? You don’t know what numbers are calling you?

And how are you doing this hosted messaging? Going to be using the Bandwidth SMS API to deal with all of this?

If they are contracted with a 3rd party phone service, then no, we don’t get the incoming CallerID. That is one of the things I am looking to overcome by being the provider. That way when the phone rings, we can push a popup to their desktop with all the patient’s info.

Yes, we use the Bandwidth SMS API for hosted messaging. Our entire platform is built from the ground up, so it isn’t just another CRM that may have a plugin available.

OK so here’s where you’re getting things wrong.

First, CallerID Name is not the same as CallerID Number. Bandwidth (been using them for 15+ years) delivers the CallerID Number all the time. I highly doubt every call coming into from Bandwidth is Private/Anonymous and if they are, that means people are blocking their CallerID from you.

Second, CallerID Name is an additional service from Bandwidth so you need to make sure your current numbers people are calling have CallerID Name enabled on them so Bandwidth will display it for you.

Third, when a call comes in you’re going to do you patient lookup based on the number not the name. You’re going to compare that number to your patient records to match up to a patient and from there you can load the data and push it to a popup for the agent answering the call.

Fourth, people are doing this all over the place and do not require themselves to be a VoIP reseller just to get proper CallerID information.

Finally, you’re looking at this as if becoming a VoIP reseller/provider is a solution to your problem and it’s not. In fact it is going to introduce more issues and problems that you are going to have to deal with. Some of these are going to be non-technical, not related to Asterisk and will require an understanding of how Telecom works in general. There are things as a provider of these services that you will need to do and understand. There are both federal and state laws you need to be aware of. You must comply with the new 9-1-1 laws because if you don’t well it starts at $10K for the fine (for each system) and goes from there.

You really, really, really need to bring in someone that has actual experience in this field to do what you are looking to do.

Just a ‘drive-by’ question/suggestion…

If you control the head-set/hand-set of the agent, do you need to touch the PSTN at all? Could you treat the agent as an endpoint on your Asterisk system? Could you have an Asterisk system in their office and then just do SIP/SIP calls? Then you can put whatever you want into the INVITEs.

BlazeStudios, I think there is a fundamental misunderstanding, I am not sure where we got disjointed, so let me rephrase.

If the customer is currently using RingCentral, MangoVoice, Grasshopper, or any other VoIP service, then I wouldn’t get any info from an incoming call, unless I try arp spoofing the network, which could lead to slower database queries, and QoS issues.

While each of them may have an API that I can develop a plugin for, it would be a scaling nightmare, not counting the potential licensing fees associated with getting access to those API endpoints. I know a little about this because I was the one that developed the application that queries 6 different database engines, from 6 different software companies, and normalizes the data from all of them into a single stream, so the customer can keep using whatever dental software they always used, and still use our software.

So unless there is a unified way to gather that info for each phone line on the network, without those problems, that is affordable and scalable, the only solution I know of is to start managing their phone services.

I am not against learning and implementing the local laws, I assume there is a solution, since everyone doing it has to comply anyway. I am also not against working with consultants, in fact, that is in part what I am doing now. I realize I may need more help later, but I can at least scope out my needs, and lay some groundwork so that whoever I bring in isn’t starting from scratch.

As for the CallerID number, yes, we will match by incoming number to the patient database, I don’t need the name. What I am working to display will be things such as the patient’s birthday, age, family, last appointment, accounting info, cleaning due dates and so on. So yes, all I need is the phone number, the rest comes from us.

SEdwards, I don’t currently control the desk phone, but that is certainly where I am thinking of going. When the front desk has a patient account pulled up, wouldn’t it be great if there was a “Make Call” button?

We do that on our website now, but what happens is the server dials the user’s cell phone, then after they answer it dials the patient utilizing the offices main phone number, then connecting the calls using a 3-way. Wouldn’t it be great if it could also work for their office phone from within their software using a plugin I can provide?

We are a newer company, so currently are only working with a few hundred offices, which at 4 lines per office could add up quick. That being said, I really just want to start small, with one, then 5, then 20 offices till we are satisfied and do a general roll out.

While we are a newer company, and not a huge customer base, we are conservative in how we grow, ensuring quality before anything. We offer many features not found elsewhere, and love to push the envelope of what technology can do for our customers, but we also are careful to not do things that we can’t do right.

Time and effort are a secondary concern. I spent 8 months building a custom database engine to connect with binary flat files for reading and writing, something for which no other method was available.

I may be new, but not ignorant, nor unwilling to learn what I need.

Although I’m still a bit confused, I think “Reseller” is being used confusingly here. Reseller tends to imply public network operator, for which a licence is normally required. It is possible that, depending on the OP’s unnamed country, some of his options are only permitted to licensed public network operators, but I don’t think, at a technical level, he needs any of the privileges normally given to such operators.

I’m not sure whether he is selling a CRM system in the cloud, or just the software (or maybe turnkey system) that runs on the customer premises.

In the former case he needs to recover caller ID for incoming calls to the customers back to his central site, and one option there is to route all the patient calls via that site.

In that case, he is concerned that he won’t be able to identify all the phones on the customer site, but that is not valid. In fact as they can all be on different NATted port numbers. Where he might have a problem is if he want to maintain the identity of the original VoIP accounts of the customers, as that often causes problems with Asterisk.

If that is the architecture he is assuming, he is thinking of placing micro-PBXes at the customer sites to give a single tie trunk to the main site. However, he would probably be better off using VPNs, and should be considering whether this can be done with proxies, rather than full PABXes.

An alternative architecture, with a cloud CRM system, would be proxies at the customer site, which communicated call information to the central site, but left the signalling and media going directly to the original providers.

If his software is installed in the customers’ offices, what he probably needs is just a proxy, although a PABX may give better computer telephony integration. Again, what I think he is after is an easy to interface way of capturing meta data about the calls.

Thank you David, yes, the primary concern is meta data, secondary would be additional revenue opportunities from hosting services.

Country is USA, though we do have some customers in Canada. We can limit our offerings where needed.

My business is, we currently offer a voice, text and email communication portal for offices to confirm their patient appointments. We do not utilize our own CRM, rather we tie into each offices existing CRM, but in the industry it is called a PMS (Patient Management Software). Those sofware packages are OpenDental, Dentrix, Eaglesoft, PracticeWorks, EzDental, and Dolphin. None of those will have any built in VoIP awareness, and there is no option to add it, with the exception of OpenDental, which is open source.

What I can do though is create a mini software that can watch the Windows API layer and look for certain windows to be active, and overlay a button in the interface. So there won’t be any integration, but it would look like there was.

These remote offices will not be tech savvy, so whatever solution I come up with will either need to be simple, pre-configured, or remotely configurable, within reason. Our existing business model relies heavily on video documentation, which seems to be working rather well.

Yeah, I guess I misunderstood how all this was setup as I use Bandwidth and receive calls from all the other vendors mention. I have no issues with getting CallerID Name or numbers.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.