cancel
Showing results forĀ 
Search instead forĀ 
Did you mean:Ā 
cancel
1406
Views
0
Helpful
13
Replies

IPCC integration with billing System

ZinanFarhat
Level 1
Level 1

Hi,

We want to integrate the IPCC with the billing system so that when customer call to the CC he/she will get the IVR and if he/she want to talk to an agent then IPCC will notify to the billing system to start billing and when disconect the caller billing system will stop billing.

We have below solution

IPCC 7.x Enterprise

CVP 4.X

Voice Gateway AS53XM

Cisco SLT and

PGW 2200 softswitch, software ver 9.6

Help me if any solution available available.

Thanks & Regards,

Muzammel Haque  

13 Replies 13

kartik.bhatia
Level 1
Level 1

What is the PBX - is it UCCM? As call connect and tear down is done by the PBX, you are looking to integrate the billing solution with the PBX, not IPCC. Only PBX can inform the billing system on that.

The billing system will need to monitor the SCCP or SIP signalling (which ever you ae using) looking for the extensions to be billed and when does the call connect and tear down happens, and if it is a outgoing call or not.

Various cisco partner developer products are available, but sorry do not know one personally, however you may look for those on google/cisco.com

Looks like a client-side application is required.

If you are using CAD, you need to activate workflow items on call established and call drop to talk to your billing application.

If CTIOS you need to use the Toolkit and add custom code.

Regards,

Geoff

Geoff,

We are using CTI. So as you metioned by adding Custom Code in CTI and trigger the billing system to start and stop billing only possible for those callers who has available balance in his account but if we want to check his/her balance before landing to an agent we must need to do something in CVP or ICM in the time of queuing.

Is it possible to trigger HTTP request through CVP to the Billing Database? Call flow will be: When Caller enter Zero for an agent, CVP will ask the billing system to check his balance and if billing system returns that his blance is available only then Caller will be in queue  and bill will start after landing to an agent.

Thanks & Regards,

Muzammel Haque

CVP doesn't have any built-in HTTP step but if you have some familiarity with Java, this would be a pretty easy customization. There is a built-in web services step in CVP so you can try using that as well if you can build a SOAP interface to your billing system.

Exactly as Ed says.

If you can't use the Cisco Web Service Element because your Web service does not provide a SOAP envelope, you can use the HttpClient package from Apache as a base.

I use the  JAXB (Java and XML Binding) compiler from Apache JWSDP to build marshallers and unmarshallers so the custom code can play with Java objects and not have to parse XML. This environment is a little tricky to get a handle on (e.g. where do the pre-compiled classes go on the CVP VXML Server?) but once it's all figured out, it's a huge plus.

Just get the schema, run JAXB, build the custom element and it's all there for you. Validated, marshalled, getters and setters all are there.

Regards,

Geoff

Geoff,

I wrongly mentioned CVP version. We are using CVP 3.1 and Comprehensive mode without VXML server. All the Scripting and IVR treatment done through ICM microapplication. Is it still possible in this scenario by the solution you mentioned?

Thanks & Regards,

Muzammel Haque

Without using CVP VXML (Studio) you would have to build an Application Gateway server that would talk to the Web services and pass back information in call variables.

Regards,

Geoff

Geoff,

I am still not sure how the complete process will work.

My understanding are below:

Option-1: We can achive billing integration through CVP. As you mentioned it is possible through HTTP client. In our scenario as we are not using CVP VXML and no scripting in CVP so how we can identify/catch the call in CVP to notify the billing system mean what is the entry point to start the job in CVP. Also as you mentioned for Application Gateway; we are using APPGateway and we can use APPGateway to check the billing status and only take decession so that the caller will land to the agent or not. On the other hand APPGateway is closely work with ICM as per my knowledge.

Option-2: May be it possible from ICM side. Like when caller wants to talk with the agent we can call APPGateway to check billing status and if available then ICM transfer the caller to the Agent and after transfer the caller to the Agent How we can Trigger the Billing system from ICM I am not sure. I know from ICM it is possible to trigger /http page for web collaboration user. Is it same or have other option? mean How we can trigger Billing System through HTTP from ICM? If possible from ICM then we can easily do rest of the job because all the call status is in ICM script. 

Option-3: You also mentioned we can achive this from CTI side. Is it possible to do the same from CTI Server end?

Option-4: Is it also possible from VXML Gateway by making custom .tcl script?

Thanks & Regards,

Zinan     

Without CVP Studio and the CVP VXML server, you cannot do this while the call is in the IVR (CVP). Scratch option 1.

So you have to do it in ICM (from the Call Router) and the method is to use the App Gateway.

You say you have an app gateway server and it is integrated with ICM. What are you using it for now? To use it for the Billing app will require a change to the back end of the app gateway, and you need to be able to differentiate calls to the app gateway for billing info from its current role.

How we can Trigger the Billing system from ICM I am not sure.

You insert the App Gateway node in your script. The App Gateway is coded to talk to the Billing system over Web services and get back data, load call variables and send them back to the script. You check them there and take appropriate action.

I know from ICM it is possible to trigger /http page for web collaboration user. Is it same or have other option? mean How we can trigger Billing System through HTTP from ICM?

No - you can't do this. The only interface is the App Gateway.

Option-3: You also mentioned we can achive this from CTI side. Is it possible to do the same from CTI Server end?

Do you mean by building a CTI "all events" client. You can do this, although I would do it with a CTIOS all events client. The problem here is timing. Let's say you catch the call presented event as the call is being delivered to the agent. You ask the billing system for data, get it back and set call variables on that call. But you are way too late. The call is at the desktop, and any screen pop has happened - the call variables were empty.

Option-4: Is it also possible from VXML Gateway by making custom .tcl script?

That would be a challenge. Even if you could, where would it fit in a CVP environment?

Regards,

Geoff

Geoff,

We have Cisco Application Gateway Host that is basically ODBC gateway, installed oracle client and using to pull customer data for IVR treatment from the database. As billing database is different so it may require some changes to add with this gateway host to pull customer data from the billing database. I am not sure how we can add that billing database to fetch customer billing status and main challenge is how we can identify that call landed to the agent and trigger to the billing database. We can use web service to trigger to inform billing database but from which point we can identify Answer & release status.

From the CTI point of view as you asked I have mentioned the same by ā€œall eventsā€. We can monitor CTI OS all events like CALL_DELIVERED, CALL_CLEARED, END_CALL etc whatever we need and trigger to the billing system accordingly by using web service. For this event monitoring and catch call event, is it require custom made application by using CIL (client Interface Library) or how we can get call events from the CTI OS to monitor call events and notify the billing database.

As a conclusion: we can check billing status or available balance to get permission for Agent service by using Aplication Gateway and if  balance is available only then transfer the caller to the queue/agent. When Agent click Answer button, this event captured and trigger to the Billing dabasae to start billing and follow the same for relaese. But in this stage, Kindly provide   me some more details from where I can start my job and catch that event.

Thanks & Regards,

Zinan

I am not sure how we can add that billing database to fetch customer billing status

The modular construction of the Application Gateway assists you in your task.

On the Cisco side, it must be built in strict alignment with the protocol - GED145.

On the back side, it can do anything it wants to. It can talk to a database, which you have today. But you could reprogram it with another module so that application gateway requests marked in a different way at the source (ICM script) would do something different in the App Gateway - i.e. call your web service.

main challenge is how we can identify that call landed to the agent and trigger to the billing database. We can use web service to trigger to inform billing database but from which point we can identify Answer & release status.

You should be able to do this. But for purposes of review, what will you do on the client side?

Regards,

Geoff

Edward Umansky
Level 4
Level 4

If real-time billing is not a requirement then you can just read the database to determine how long callers spent talking to agents, then bill off of that.

ISUP ECT supplementary signaling you can use to trigger the adjacent point code softswitch, in this case you have to make sure the APC is also triggering back your backend IN or billing integrations.

HTH.

Regards,

Mijanur Rahman

Getting Started

Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community: