Out Bound Dialer (OBD)
Smart Ping
Features of service:
Control Panel: Web Based
Integration : Https URL Base Campaign Management
Reports: Real Time Web-based & API based
Outbound Dialing (OBD)
2
Outbound Dialing (OBD) is a robust system designed to effectively manage mobile
service-provider-initiated outbound calls. The system automatically dials out calls
to a list of mobile users provided by the telecom operator. OBD has a time-tested
and proven track record to promote and sell value added services like Stock
Market updates, Business Promotion, Health Tips, News, Jokes, etc. OBD utilizes
the Interactive Voice Response (IVR) calling system where the customer first
listens to the pre-recorded audio promotion.
OBD is capable of efficiently introducing ad campaigns and manage existing
campaigns, adding significant value for business promotions. It as an effective
tool for subscription reminders, alerting subscribers in critical time for
continuation of subscriptions, thereby adding immense value over manual
operation of such activities in large numbers. Reports can be generated on the
basis of call status. OBD is a key contributor for the telecom promotions in
business sector.
Key Features
Automatically dials mobile number subscribers to promote and market
services
Quality of voice calls before initiating the dialing process
Generates various reports
GUI and API integration
Do not Dial (DND) list scrubbing
Campaign scheduling
Benefits
Single platform supports SS7 (Signaling System)
Completely automated system with no manual intervention required
Reduces manual processes and human resources
Supports continuous business flow through ad campaign management
3
How it Works
OBD Types
A) Transactional B) Promotional
In Promotional OBD. System do DND filtration.
OBD interfaces
A) GUI B) Https based Web Service
GUI: Graphical user interface where user login to system with valid login
credentials and operate OBD interface .
API: API stands for Application Programming. We have SOAP XML
based(wsdl) web service developed in asp.net. It works on POST method.
user can integrate his application with our API to automate his processes.
User name password will be same as used in GUI.
OBD Campaign Modules
A) Voice File approval process: User will upload voice file through GUI
portal. Videocon team will validate voice content and voice quality. in case
voice content or quality is not appropriate Executive will reject the file else
approve it. this process is GUI based Only.
B) Campaign Creation: User have GUI and API option for campaign create.
User need to upload calling data in txt format and select calling voice to
create a campaign through GUI.
C) Campaign Report: User can view real time Campaign status on GUI and
Web API
D) Campaign Bill report: User can view each campaign billing.
E) Recharge History : User can view his recharge history
4
GUI Portal
GUI URL : https://www.vispl.in /
User login on above URL with valid login credential to access OBD service
Dash Board
5
1.Campaign Creation by API call using Post method
API URL : https://obdapi.vispl.in/
API Parameters Specification:
A) Campaign Creation for Normal OBD for Bulk upload:
API: https://obdapi.vispl.in/Service1.asmx?op=Campaign_Creation
Name Parameter Description Required Value Type
Username Assigned to
Username UserName Username Required
the account
Password Assigned to the
Password Password Password Required
account
Id of approved voice file
VOICE_ID VoiceId Numeric value Required
from GUI Report
Transaction Customer Application
TransitionId Numeric value Optional
Number Primary Key
Data CampaignData 9600000000,9765432180 Csv string of calling Required
mobile numbers
API Response:
<Campaign_CreationResponse xmlns="http://tempuri.org/">
<Campaign_CreationResult>
<ERR_CODE>string</ERR_CODE>
<ERR_DESC>string</ERR_DESC>
<CAMPG_ID>string</CAMPG_ID>
</Campaign_CreationResult>
</Campaign_CreationResponse>
6
A.0 Campaign Creation for Normal OBD for Single
Number:
API: https://obdapi.vispl.in/Service1.asmx?op=SINGLE_CALL
Name Parameter Description Required Value Type
Username Assigned to
Username UserName Username Required
the account
Password Assigned to
Password Password Password Required
the account
Id of approved voice
VOICE_ID VoiceId Numeric value Required
file from GUI Report
OBD_TYPE OBD_TYPE SINGLE_VOICE/ DTMF SINGLE_VOICE OR DTMF Required
DN DN 9600000000 10 digit mobile number Required
API Response:
<Campaign_CreationResponse xmlns="http://tempuri.org/">
<Campaign_CreationResult>
<ERR_CODE>string</ERR_CODE>
<ERR_DESC>string</ERR_DESC>
<CAMPG_ID>string</CAMPG_ID>
</Campaign_CreationResult>
</Campaign_CreationResponse>
A1) Campaign Creation for DTMF OBD For Bulk Upload:
API: https://obdapi.vispl.in/Service1.asmx?op=Campaign_CreationDTMF
Name Parameter Description Required Value Type
Username Assigned to
Username UserName Username Required
the account
Password Assigned to the
Password Password Password Required
account
Id of approved voice file
VOICE_ID VoiceId Numeric value Required
from GUI Report
7
OBD_TYPE OBD_TYPE Value should be DTMF String Required
Transaction Customer Application
TransitionId Numeric value Optional
Number Primary Key
Data CampaignData 9600000000,9765432180 Csv string of calling Required
mobile numbers
API Response:
<Campaign_CreationResponse xmlns="http://tempuri.org/">
<Campaign_CreationResult>
<ERR_CODE>string</ERR_CODE>
<ERR_DESC>string</ERR_DESC>
<CAMPG_ID>string</CAMPG_ID>
</Campaign_CreationResult>
</Campaign_CreationResponse>
*API return 0 errorcode in case of success
* CAMPG_ID parameter will be PK to fetch reports
Limitation : You can pass only 500000 numbers maximum in a Single API Call, limit can
be increased as per requirement.
A) Campaign Summery
API: https://obdapi.vispl.in/Service1.asmx?op=Campaign_Summary
Name Parameter Description Required Value Type
Username Assigned to
Username UserName Username Required
the account
Password Assigned to
Password Password Password Required
the account
Pk of campaign as
Campaign ID campaignid return on campaign Numeric value Required
creation
API Response:
<Campaign_prop>
<CampaignID>1187</CampaignID>
8
<CampaignCode>CMP01187</CampaignCode>
<CampaignName>1187</CampaignName>
<CampaignScheduleTime>1/20/2017 6:06:42 PM</CampaignScheduleTime>
<Status>CLOSE</Status>
<ScheduleType>CURRENT</ScheduleType>
<VALID_DN>2</VALID_DN>
<INVALID_DN>0</INVALID_DN>
<PROJECTED_AMOUNT>0.2000000029802320</PROJECTED_AMOUNT>
<CONSUMED_AMOUNT>0.20</CONSUMED_AMOUNT>
<OPENING_BALANCE>97.10</OPENING_BALANCE>
<CLOSING_BALANCE>96.90</CLOSING_BALANCE>
<Transation_ID>321</Transation_ID></Campaign_prop>
B) Campaign Calling Details
API: https://obdapi.vispl.in/Service1.asmx?op=Campaign_Call_Details
Required
Name Parameter Description Type
Value
Username Assigned to the
Username UserName Username Required
account
Password Assigned to the
Password Password Password Required
account
Pk of campaign as return on
Campaign ID campaignid Numeric value Required
campaign creation
API Response:
<arrayofcampaign_prop>
<Campaign_prop>
<CampaignID>1187</CampaignID>
<MSISDN>09961597414</MSISDN>
<CLI>1725148496</CLI>
<FLAG>T</FLAG>
<STATUS>Answered</STATUS>
<STARTTIME>1/20/2017 6:09:32 PM</STARTTIME>
<ENDTIME>1/20/2017 6:09:48 PM</ENDTIME>
<DURATION>16</DURATION>
<Transation_ID>321</Transation_ID>
<DTMF>DTMF</DTMF>
<ID>49467296</ID>
</Campaign_prop></arrayofcampaign_prop>
9
2.Campaign Creation by API call Using Get method:
Campaign creation for Normal OBD:
https://obdapi.vispl.in/Service1.asmx/Campaign_Creation?UserName=demoxx&Password=de
moxxx&VoiceId=1422&TransitionId=1&CampaignData=1234567890,1123456789,XXXXX
XXXXX
Campaign creation for Normal OBD with Single Number:
https://obdapi.vispl.in/Service1.asmx/SINGLE_CALL?UserName=custxxx&Password=xxx&
VoiceId=86&OBD_TYPE= SINGLE_VOICE &DN=96530xxx
Campaign creation with DTMF:
https://obdapi.vispl.in/Service1.asmx/Campaign_CreationDTMF?UserName=demoxx&Passw
ord=demoxxx&VoiceId=1422&OBD_TYPE=DTMF&TransitionId=1&CampaignData=12345
67890,1123456789,XXXXXXXXXX
Campaign creation with DTMF with Single Number:
https://obdapi.vispl.in/Service1.asmx/SINGLE_CALL?UserName=custxxx&Password=xxxxx
&VoiceId=86&OBD_TYPE=DTMF&DN=96530xxx
Campaign Summary:
https://obdapi.vispl.in/Service1.asmx/Campaign_Summary?UserName=demoxx&Password=d
emoxx&campaignid=3574
Campaign Call Details:
https://obdapi.vispl.in/Service1.asmx/Campaign_Call_Details?campaignid=3574&UserName=
demoxx&Password=demoxx
3.Voice File Upload by API call
Voice API URL :
https://www.vispl.in/WEB_API/VoxUpload/api/Values/upload
Voice Upload API Parameters Specification:
10
A) Voice File Upload
Name Parameter Description Required Value Type
Username Assigned to
Username username Username Required
the account
Password Assigned to
Password password Password Required
the account
Plan type should be
15,30,60 or 120,
PlanType plantype Numeric value Required
according to the voice
file duration
FileName filename Name of the Voice file AlphaNumeric value Required
Voice file format should
uploadedFile uploadedFile Voice file Required
be in .wav or .mp3
API Response:
Submitted Successfully to Provisioning with Voice ID: 1760
B) Check Voice File Status
Voice File status API URL :
https://www.vispl.in/WEB_API/VoxUpload/api/Values/CheckStatus
Name Parameter Description Required Value Type
Username Assigned to
Username username Username Required
the account
Password Assigned to
Password password Password Required
the account
voiceid voiceid Voice id value Numeric value Required
API Response:
Voice File Status is OPEN.
Voice File Status is REJECTED.
Voice File Status is APPROVED.
11
Sample Code for Voice Upload in JAVA:
public static void main(String[] args) throws UnsupportedEncodingException,
IOException {
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new
HttpPost("https://www.vispl.in/WEB_API/VoxUpload/api/Values/upload");
try {
MultipartEntity reqEntity = new MultipartEntity();
StringBody username= new StringBody("demoxxx");
StringBody password= new StringBody("demoxxx");
StringBody PlanType= new StringBody("15");
StringBody FileName=new StringBody("demo_6mar");
FileBody uploadedFile = new FileBody(new File("D://voice2018.wav"));
reqEntity.addPart("username",username);
reqEntity.addPart("password",password);
reqEntity.addPart("PlanType",PlanType);
reqEntity.addPart("FileName",FileName);
reqEntity.addPart("uploadedFile", uploadedFile);
httppost.setEntity(reqEntity);
System.out.println("Requesting : " + httppost.getRequestLine());
ResponseHandler<String> responseHandler = new BasicResponseHandler();
String responseBody = httpclient.execute(httppost, responseHandler);
System.out.println("responseBody : " + responseBody);
4.Check Balance API Using Post Method:
Check Balance URL :
https://www.vispl.in/WEB_API/VoxUpload/api/Values/CheckBalanceAPI
Name Parameter Description Required Value Type
Username
Username username Assigned to the Username Required
account
Password Assigned
Password password Password Required
to the account
childusername childusername Chilid Userid Child userid Required
12
API Response:
Your Balance Is Rs. 19999.1. Child Balance Is Rs. 99.4
13