Call Me Now from my webpage

Any and all non-support discussions

Moderators: gerski, enjay, williamconley, Op3r, Staydog, gardo, mflorell, MJCoate, mcargile, Kumba, Michael_N

Call Me Now from my webpage

Postby mikefink80 » Fri Feb 12, 2010 1:25 pm

I was curious if anyone is using Vicidial with a "call me now" option from their webpage?

I have been thinking about setting up an option after a potential client submits their information on my company's webform giving them the opportunity to have us call them immediately after submission from a campaign with a recorded voice verifying their submission if it's after business hours, or calling them immediately and dropping the call into an ingroup to be picked up by the next available agent during business hours.

I guess my question would be if anyone has done this already and if so how to get the information submitted on our webform to automatically be entered into the vicidial database so a confirmation call can be made.
mikefink80
 
Posts: 24
Joined: Tue Apr 14, 2009 11:00 am
Location: Saint Petersburg, FL

Postby Michael_N » Fri Feb 12, 2010 1:31 pm

read

NON-AGENT_API.txt

its in /docs directory
Michael_N
 
Posts: 687
Joined: Wed Jul 05, 2006 3:13 pm
Location: sweden

Postby mflorell » Fri Feb 12, 2010 10:37 pm

Yes, we have several clients doing this using the non-agent API
mflorell
Site Admin
 
Posts: 18339
Joined: Wed Jun 07, 2006 2:45 pm
Location: Florida

Postby mikefink80 » Tue Feb 16, 2010 1:31 pm

Thank you for your help.

I reviewed the doc and attempted to use a string I made up to insert a test lead into the dialer by pasting it into firefox. When I submitted it I get the following response...

ERROR: Invalid Source - ERROR: Invalid Source: ||

I created a user name with the ability to modify leads and am attempting to insert the lead into a campaign and list I created just for this test.

Am I supposed to make some additional changes before it works or am I trying to enter a lead the wrong way? Maybe adjusting something within the mysql database to allow the leads to be entered?
mikefink80
 
Posts: 24
Joined: Tue Apr 14, 2009 11:00 am
Location: Saint Petersburg, FL

Postby mflorell » Tue Feb 16, 2010 1:54 pm

From the NON-AGENT_API.txt doc:

REQUIRED FIELDS-
phone_number - must be all numbers, 6-16 digits
phone_code - must be all numbers, 1-4 digits, defaults to 1 if not set
list_id - must be all numbers, 3-12 digits, defaults to 999 if not set
source - description of what originated the API call (maximum 20 characters)


Pay close attention to the last field "source", it is required for the add_lead function.

you can even just put &source=test in your URL.
mflorell
Site Admin
 
Posts: 18339
Joined: Wed Jun 07, 2006 2:45 pm
Location: Florida

Postby mikefink80 » Tue Feb 16, 2010 2:08 pm

I must have been looking at an older NON-AGENT_API.txt doc as it didn't have the source as a required field, just phone_number, phone_code and list_id. I will try that and see if it works. Thanks again.
mikefink80
 
Posts: 24
Joined: Tue Apr 14, 2009 11:00 am
Location: Saint Petersburg, FL

Postby Geil21 » Tue Feb 16, 2010 5:17 pm

I have actually been doing this for a long time now.

I simply created an ODBC connection to the Vicidial Database then wrote a bit of asp.net code to drop the record right in to the database using a .NET table adapter

Code: Select all
Public Function BuildCallDetails(ByVal phone As String) As Integer
        Dim OriginateActionAdapter As New AsteriskManagerDALTableAdapters.DataTable1TableAdapter
        Dim DialerIP as string = '<-- IP Address of dialer
        Dim actCmdLineB As String = "Channel: IAX2/Asterisk1/310" '<-- Customer Service Exten on primary PBX
        Dim actCmdLineC As String = "Context: default"
        Dim actCmdLineD As String = "Exten: 1" & phone
        Dim actCmdLineE As String = "Priority: 1"
        Dim actCmdLineF As String = "Callerid: <  > " '<-- Set this to your CID
        Dim rs As String
        Try
            rs = OriginateActionAdapter.OriginateActionQuery(Now(), DialerIP, actCmdLineB, actCmdLineC, actCmdLineD, actCmdLineE, actCmdLineF)
            rs = Nothing
            Return 1
        Catch ex As Exception
            Return 0
        End Try
    End Function


With This as the query in the table adapter to do the insert

Code: Select all
INSERT INTO vicidial_manager
                      (entry_date, status, response, server_ip, `action`, cmd_line_b, cmd_line_c, cmd_line_d, cmd_line_e, cmd_line_f)
VALUES     (?, 'NEW', 'N', ?, 'Originate', ?, ?, ?, ?, ?)


This simply calls Customer Service and once answered by CSR rings to customer.

Add a text box to your website with a click-to-call button. Then pass the phone number to the function after a bit a validation and formatting in the page code.

Of course this method only originates the call, but additional logging, emailing for follow-up and what-not can be thrown in the page code which I'm sure you know.

If you want to create a lead use the API, otherwise this is a simple work around.
OpenSuSE v.11.3 32-bit w/ PAE
Asterisk v.1.4.39.2-vici
DAHDI v.2.4.1.2
LibPRI v.1.4.11.5
Sangoma VoiceTime v.1.0.11
ViciDial SVN Trunk v.2.4-334a build 110831-2038
Geil21
 
Posts: 62
Joined: Wed Nov 26, 2008 12:01 pm
Location: Orlando, FL

Postby mikefink80 » Tue Feb 16, 2010 5:28 pm

The leads are now being inserted directly into the dialer. Now I have a question about setting up a press 1 campaign for the dialer to call the leads that are being inserted.

I plan on having this campaign call those that submit the form and request a verification phone call, which I plan on setting up through a press 1 campaign to give them the ability to connect directly with an agent during normal business hours, or routing them to a voicemail after business hours. It seems like the way to do this would be to drop the calls into an ingroup that is setup based on my hours of operation, but I don't see the option to send the call to an ingroup under the "survey" section of the campaign. Would there be another way to accomplish dropping an opt-in lead through a survey campaign to an in group?

The reason I ask is because I run multiple campaigns, mostly outbound, and would rather not have one of my reps tied up in this campaign where the calls may be few and far between. If the calls could drop into an in-group my agents would be able to stay on another outbound campaign while connected calls could still get to them through the in-group.

In order for the dialer to dial the calls in this new campaign I assume there has to be an agent logged in as well? Is this the case? If so I would probably have to log an agent in that isn't really there just to make sure the calls get dialed when the leads are inserted, or am I missing something.

Thanks again for your help.
mikefink80
 
Posts: 24
Joined: Tue Apr 14, 2009 11:00 am
Location: Saint Petersburg, FL

Postby mikefink80 » Tue Feb 16, 2010 5:52 pm

I see that you can send the calls to an extension. I'm guessing I should be able to set up an extension in my dialplan for the calls to be routed to that would send the calls to an ingroup. I will test it out.
mikefink80
 
Posts: 24
Joined: Tue Apr 14, 2009 11:00 am
Location: Saint Petersburg, FL

Postby mflorell » Tue Feb 16, 2010 6:31 pm

You would just use the Drop Action in the Campaign Detail settings for this, set it to INGROUP and select the In-group from the list. When the customer presses 1 to be sent to an agent and there are no agents available they will go to the in-group you have defined.
mflorell
Site Admin
 
Posts: 18339
Joined: Wed Jun 07, 2006 2:45 pm
Location: Florida

Postby mikefink80 » Tue Feb 16, 2010 8:49 pm

So you can have the dialer set to dial the leads in real time as they are added to the hopper without having an agent logged into the campaign?
mikefink80
 
Posts: 24
Joined: Tue Apr 14, 2009 11:00 am
Location: Saint Petersburg, FL

Postby mflorell » Tue Feb 16, 2010 9:28 pm

You would need to use a Remote Agent for them to dial while no live agents are logged in.
mflorell
Site Admin
 
Posts: 18339
Joined: Wed Jun 07, 2006 2:45 pm
Location: Florida

Postby Geil21 » Wed Feb 17, 2010 9:27 am

By dropping the record directly in to the asterisk_manager table and having asterisk call an extension or queue or in-group directly it will bypass all the campaign and agent settings and just initiate the call in real time to wherever you want to send it.

This also bypasses the hopper and lead creating as well and just dials the 2 numbers

Then if you use an in-group as the target vici will handler the inbound lead creation automatically ( of course this would exclude name address and so on, but for a quick, click-to-call from a website it's perfect )

It's a much simpler solution
OpenSuSE v.11.3 32-bit w/ PAE
Asterisk v.1.4.39.2-vici
DAHDI v.2.4.1.2
LibPRI v.1.4.11.5
Sangoma VoiceTime v.1.0.11
ViciDial SVN Trunk v.2.4-334a build 110831-2038
Geil21
 
Posts: 62
Joined: Wed Nov 26, 2008 12:01 pm
Location: Orlando, FL

Postby mikefink80 » Wed Feb 17, 2010 11:59 am

I tried it out last night by routing the "survey method" of the campaign to an extension that went to an ingroup I created for these calls and it worked flawlessly. It seemed to be the best option so that none of the calls would go to a remote agent or another agent logged into the campaign that was only there to make sure the dialer made the call but would not field any calls. This option will also allow leads to be created so that we can recycle them for future campaigns.

Thank you all for the different options to help accomplish this.
mikefink80
 
Posts: 24
Joined: Tue Apr 14, 2009 11:00 am
Location: Saint Petersburg, FL


Return to General Discussion

Who is online

Users browsing this forum: No registered users and 200 guests