Outbound CID call tracking
As we know, tracking communication is CRITICAL for organization and professionalism; not to mention to cover our @$$, haha. And I've got to say - the inbound CID lookups that post to the customer and ticket pages are AMAZING. They give us a clear and easy understanding of a call coming in. WOW!
BUT... What about OUTGOING CALLS? Sure, we really try to make sure to put in an update every time we call to recap what the call was about, but it would be immeasurably helpful to have our calls out to be tracked just like the incoming calls are. Right?
"Why has no one else thought of this?"
I know you already have Troy (and I have no doubt that it's not nearly as easy as setting up a HTTP CID lookup source) but what is the official verdict on the idea?
From what I gather, it must involve either a communication between the PBX or the Trunk? Not sure if you need an API as much as just authentication. Either way, it seems like there's more than one way to get the outgoing call data to send to RS. I understand that there are tons of VoIP providers, but it seems very reasonable that there's something that could be integrated with open-sourced PBX on self-hosted hardware.
What do you think?
-
peter commented
For FreePBX
1.) Make sure you first install curl: yum install curl
2.) Edit /etc/asterisk/extensions_custom.conf
Add the following:
[from-internal-custom]
exten => _NXXXXXX,2,System(curl 'https://YOURDOMAIN.repairshopr.com/api/callerid/?did=${EXTEN}&outbound=true&token=YOURTOKEN')
exten => _NXXNXXXXXX,2,System(curl 'https://YOURDOMAIN.repairshopr.com/api/callerid/?did=${EXTEN}&outbound=true&token=YOURTOKEN')
exten => _1NXXNXXXXXX,2,System(curl 'https://YOURDOMAIN.repairshopr.com/api/callerid/?did=${EXTEN}&outbound=true&token=YOURTOKEN')
exten => _+1NXXNXXXXXX,2,System(curl 'https://YOURDOMAIN.repairshopr.com/api/callerid/?did=${EXTEN}&outbound=true&token=YOURTOKEN')3:) In terminal type the following and hit enter: fwconsole restart
4.) Call out to a number in a ticket and you should see a new Outbound Call Private note "Technician called out to phone number 1231234567"
-
Ryan (CTO, Pinellas Computers) commented
This is Completed.
-
Anonymous commented
Dharmjeet kumar giri
-
Ryan (CTO, Pinellas Computers) commented
RS 2-WAY VOIP PBX INTEGRATION DEMO VIDEO
Hi Everyone! I keep seeing on going posts with questions about getting caller ID working with RS. I happen to have a fair bit of experience in this, and was successfully able to get this working for not only incoming calls caller ID (pretty easy), but also outgoing calls to post notice internally on tickets and the customers profile (took some creativity).
In the past I’ve tried to work with a couple users and showed them my setup, but it would appear that every PBX distro is different. Further, I’m not exactly doing it the “right way”, because there isn’t a way that has ever been designed to do this. I just did a lot of guess and checking and testing until I got something to work.
A couple years back, I was able to convince Troy to customize a few lines of code in the RS API to give us custom responses to differentiate between incoming calls and outgoing calls. We’ve been using this for almost 4 years now and I DON'T KNOW HOW WE COULD EVER LIVE WITHOUT IT.
I’m posting this because I caught some free time today and I’d like to do a live broadcast of what our system looks like on the back-end, with the custom code used to get this working. I am hoping that if I show it to everyone, a few savvy users may be able to come up with an even BETTER way to get it working for all users, and perhaps even make it a more robust integration.
Specifically, I’d love to get it to parse a specific extension for outgoing calls to notate the ext who called out (instead of just that “we called out”) as well as have it parse which number the customer called in to (since we are big chain, it would be nice to know which location they called on the log).
I know we can get even crazier and more amazing features then this (link to call recordings, OR eventually wGET the .wav from a call recording and have Zapier transcribe it back to the ticket as a private note!) but we have to start somewhere.
The video is on the RS Facebook page. Here's a link:
https://www.facebook.com/malize89/videos/g.173706276311983/10155752028173612/?type=2&ifg=1 -
Tyler Petrucci commented
We have the inbound function working on FreeSWITCH (we're using FusionPBX, which is awesome) and would love to see a seperate url in repairshopr to track outbound calls. I think making the URL request would not be very difficult.
-
Ryan (CTO, Pinellas Computers) commented
@Randon: Sorry I'm just seeing this. UV doesn't alert me for some posts. IDK why. To answer your question, I've spoken with about 5 users individually and they have all got my version working on FreePBX or PBXIAF or Asterisk.
Put simply, it's a custom outbound dial plan; not a traditional option or click-done solution. Unfortunately, I don't have the time to go through each setup and give precise instructions to get it to work. It took me the better part of 25+ hours of testing and Q&A on forums to get mine to function, and it's definitely a work-around. I've spoken to Troy about it once or twice, but I think we're both worried it's not "perfect" and don't want people complaining if they can't get it working.
If anyone is SERIOUSLY interested in getting it implemented, I'd be willing to do a 1-on-1 phone chat and screen sharing conference to go over EVERYTHING on how it works, what it requires, and what's missing - under the condition that either YOU are an Asterisk EXPERT who can figure out how to fully create a 100% fully functioning dial-plan for it, OR are willing to HIRE someone (on Freelancer or whatever) to develop the working code.
I've got so much done already, and it works 99% - I just want it done cleanly and properly so it doesn't need 5 settings changed and not knowing if it effects anything else. I also want a final feature added to ID which ext dials out (which is very doable). There's tons more that can happen as well (follow-up comment on call length, which ext picked up inbound calls, etc) but I'm past all of that for now. So if you're up to handle as I described, please contact me directly - you can find my company info in my title and call saying you're with RS and you'll get patched in to me.
-
So did anyone ever get this to work or has it been planned to be worked on or did Troy find it won't ever work?
Forgive me if the answer is in here already, I glanced through the comments and didn't see an exact solution, I did see that Ryan had a solution of sorts,
We just moved from vonage to freepbx with twilio SIP and messenger... inbound works awesome, can't get outbound to work.
Let me know...
Thanks in advance
-
Anonymous commented
I would LOVE to have both inbound AND outbound calls tracked via the mobile app in some way. I use my cell for 90% of the calls taken since I'm in the field and this would be invaluable.
-
Ryan (CTO, Pinellas Computers) commented
@Joseph: Thank you so much for the tip on getting it to work in Fonality! Any chance you'd be up for figuring out the 4 sub-ideas I posted about?
@Aaron: That sucks it broke your call recording - not sure why though; ours is still working fine. Please do post if you find a solution to remedy that. I'm sure you found the outbound CID to be awesome and hate to have to choose. I know Elastix is built on FreePBX, so I'm not sure what's different. Any updates?
@Andrew: Troy isn't really heading figuring this topic out from what I gather. He has been helpful in providing custom HTTP strings by request to get us usable query code to use in our PBX, but doesn't want to figure out how to get it working in EVERY different PBX. This is more a mod to a PBX than an RS feature - he's just giving us the tools to make our projects work.
-
Joseph B. commented
@Andrew: It does work. Depends on your VoIP Solution I believe. I have it working with Fonality and Ryan has it working with another provider. I wish DialPad had an HTTP Lookup Feature available, I'd love an excuse to checkout their platform.
-
Andrew Hall commented
has there been any update to this? I'd much rather track outgoing calls to customers than incoming! Has Troy had a chance to look into creating the additional CID query string for outgoing?
-
Ryan (CTO, Pinellas Computers) commented
@Aaron: I have a feeling this may be either a random prerequisite I have in our PBX (which I can't recall) or a slight difference between Elastix and FreePBX. If you do figure it out, please post it on here, as you did about the [outbound-route] tip. As I mentioned in our DM, I think it may be worth having a freelance hire to make the code the right way to work with all Asterisk/FreePBX variants. If you do end up going that route, please consider having them also take care of the additional requests I listed below to @Joseph :)
-
Ryan (CTO, Pinellas Computers) commented
@Joseph: AWESOME! Really glad you got it figured out. Totally one of the most helpful communication integrations, is it not? I'm a huge fan of linking great features together, and this compliment to the inbound CID lookups is critical.
Now if we could get some extra time to figure out how to code these in (maybe you can help figure them out and provide @Troy with simple HTTP functionality needed and he might make it happen like he did for me with the outbound add-on code?):
1. List the DID the customer dialed in from, in the Inbound Call string.
2. List the EXT the tech called out from, in the Outbound Call string.Less important, more difficult:
1. (After answering incoming call) - separate private comment, listing the EXT which answered.
2. (Post call) - separate comment, with link URL to the call recording (if activated) on the PBX. -
aaron.tague commented
Has anyone gotten this to successfully work with FreePBX by chance? I had this set up and working for a few months, but noticed yesterday that it broke our outbound call recording. I did have to change [outbound-allroutes-custom] to [outbound-allroutes] to get it to work in the first place. If I remove the code and restart Asterisk, outbound call recording starts working again. Anyone more familiar with FreePBX and/or Asterisk have an idea what might be going wrong?
-
Joseph B. commented
Thanks @Ryan! We're not using Elastix, but the information you provided was exactly what I needed. If anybody reading this is using Fonality, the coding for the Outbound Web Launcher is as follows:
http://YOURSUB.repairshopr.com/api/callerid/?did=%%caller_number_raw%%&outbound=true
-
Ryan (CTO, Pinellas Computers) commented
@Joseph & James: Sorry my alerts aren't working on this post. I don't have time to do a great write-up on this right now, and Troy hasn't really given me any incentive so it's not on my priority list. Anyways, here is a quick instruction list of what we have:
1. Make sure the cURL function is installed on your PBX (comes prepacked with Elastix)
2. Add the following at the bottom of the file extensions_custom.conf:
[outbound-allroutes-custom]
exten => _NXXXXXX,2,System(curl "http://YOURSUB.repairshopr.com/api/callerid/?did=${EXTEN}&outbound=true")
exten => _NXXNXXXXXX,2,System(curl "http://YOURSUB.repairshopr.com/api/callerid/?did=${EXTEN}&outbound=true")
exten => _1NXXNXXXXXX,2,System(curl "http://YOURSUB.repairshopr.com/api/callerid/?did=${EXTEN}&outbound=true")
exten => _+1NXXNXXXXXX,2,System(curl "http://YOURSUB.repairshopr.com/api/callerid/?did=${EXTEN}&outbound=true")3. Save and Reload the Asterisk engine (on that page in Elastix)
PS. Here is a link to the original forum post where I got help making this happen. Please don't follow the instructions from the beginning of that, because I encountered issues and fixed them down the road. Further, I elaborated on new ideas at the end of that post, so the above code is complete and correct.
http://forums.asterisk.org/viewtopic.php?f=13&t=95540&p=212273
I have a lot of customization in our PBX, so not sure if one of them is a prereq for this to work, but post your findings and any issues on here and I'll do my best to help.
Thanks!
-
James commented
So just another request to elaborate on this. I'm not sure how complicated or possible it is on RS end.
Could the outbound make a pop-up during/after the call for the tech to enter relevant notes about the call?
Before I start this project, what does this do if someone generally uses the phone that's not related to RS?
-
Joseph B. commented
@Ryan, can you elaborate on the code you're using? I tried http://YOURSUBDOMAIN.repairshopr.com/api/outboundcall/?did=2065553222 (replacing where appropriate) with no luck. We have inbound working using Fonality as they have a web launcher that allows any http lookup field.
-
Ryan (CTO, Pinellas Computers) commented
@Mark: Sorry I JUST saw this, really late. This is working 100% for us. I can only confirm it will work with Elastix (which is the PBX software we run). But I think any PBX that can utilize cURL will function. @Chuck tried with another PBX and said no joy, but I didn't get to look at it so I can't say it works or doesn't with other OS's.
The only oddity is that we sometimes get random CID posts from non-10 digit numbers. Like, if a vendor calls back with a fake CID (like 44500) it will match to a random customer profile and say "Customer called from phone number 44500 on a random profile. Idk why that is, but it's rare enough that we almost never see it.
A little annoying because it's a dialplan mod, instead of a feature code to "paste" in. Still, it's unbelievably helpful and we love it. I'll give Troy the info so he can write up a tutorial, but I can't make a ton of time to troubleshoot. I can attest that we're running Elastix 4.0 after an upgrade from 2.5 and all still works :)
-
Mark commented
@Ryan I think I found the post where you have been investigating this from the PBX end (Asterisk Forums?) Have you had much more luck with this. It looks like you pretty much have it working.