Chapter 4. Proxy mode

Proxy mode of operation - is when you receive VoIP calls into softswitch from originator and perform routing of them to terminators. When call incomes into softswitch, the latter builds routing table and executes hunting on available routes. The routing table is built according to the current system configuration. All calls are billed. If call is unable to be billed - it simply is not routed to destination. That's how you can be sure that your billing is synced with your routing configuration and that you won't loose money.

How to setup

In this chapter we shall explain how to setup minimal routing and billing from the inbound traffic point to the outbound one. You shall see that this is easy just as making a cup of tea!

Let us imagine situation that can be in a real world.

We have VoIP terminator named GreatProvider. He can serve calls to code 1(North America) from us. And his billing is 1/1/0. That means 1 second is the minimum connected call length, increment is 1, and free seconds is 0. Price is 0.04$ per minute. He uses H323 protocol. His IP address is X.X.X.X.

On the other hand we have originator, named SmallCustomer. He wants to buy code 1 from us and to originate traffic to that destination. And his billing is 30/6/0. That means 30 seconds is the minimum connected call length, increment is 6, and free seconds is 0. We sold him that code for 0.05$. He uses SIP protocol and his IP address is Y.Y.Y.Y.

In the following sections we'll describe how to connect these guys with each other stem by step. After that you shall start making profit ~0.01$ per minute for every call(it depends on call length)!

Configuring companies

Let's suggest that originator and terminator belong to different companies - that's the most common case.

Go to Home >> Finances >> Companies. You shall see screen like this:

Press "Add" button in the upper corner. You'll be taken to the following screen:

Fill in originator's company name - “SmallCustomer”. Leave all the rest untouched. Press "Commit". Now you can see your company added!

Repeat these steps to add the terminator's company “GreatProvider”.

Configuring pricelists

Let's suggest that originator and terminator have different pricelists. That's the most common case. Now we should add new pricelists for originator and terminator.

Let's start from customer's pricelist.

Go to Home >> Finances >> Billing Packs. You shall see screen like this:

This is the list of all billing packs.

Press "Add" button in the upper corner. You'll be taken to the following screen:

Fill in the pricelist name here (name it for example “small_customer1_pack”) and press “Commit”. You can see new billing pack among the others.

Now we shall add new pricelist in the billing pack. Press “Edit” on the left side of the billing pack in the list. You'll see screen like this:

Pay attention on th link "Pricelists" that has appeared. Click on it. You'll see the list of pricelists that this billing pack contains. Newly created billing pack contains none of them. Press "Add" to add a new one. You'll be at the following screen:Fill in the pricelist name here (name it for example “small_customer1”) and press “Commit”. 

Now we shall add destinations in this pricelist. Press “Edit” on the left side of the pricelist in the list. You'll see screen like this:

Did you notice that the link 'Prices' appeared? That is it! Follow the link. You shall see a list of configured destinations. Let me guess, it is empty. No doubt. Let's start filling it. Press “Add” and you shall see the screen just like this:

First of all, check the checkbox “enabled”. Then put code 1 in “code” field. Set price 0.05 (we are configuring the customer's price, don't you remember). Next, set min=30, increment=6. All the rest leave unchanged. Press “Commit”. Now you can see you destination in the list. You can add other destination codes here, but right now we don't need that.

Now we must tell the system at what period of week will this prices take effect. This is configured in “Timetable” link. Press corresponding link and press “Add” in the appeared empty list. You'll be prompted to following:

Press “Commit”. This configuration means following: “use this pricelist fom Sun 00:00 to Sat 23:59”, i.e. all week long. You can configure several pricelists, so that one of them will be active at certain period while the others in different. But we don't need that in this case.

Next, repeat all the steps and add a billing pack for terminator. Name it “great_provider1_pack”. Configure destination code for him.

Configure terminator

Now we shall add terminator.

Go to Home >> Dial-peers >> Terminators. Here you can see the list of providers just like this:

If your system is fresh, this list will be empty. Now we'll start filling it. Press “Add”. You'll see screen like this:

Here check the “enabled” checkbox. Give name to terminator, for example, great_provider_gw1. Select terminators's company (GreatProvider) from drop-menu. Select terminator's billing pack (great_provider1_pack) from drop-menu. As our terminator will support H323 only, uncheck SIP. Press “Commit”. Now you shall see this terminator in the list.

Now we must complete terminator's configuration. Press “Edit” on him. You'll see screen lik this:

Pay attention to th links that appeared in the bottom. As provider uses H323 protocol, let's configure it. Press the “Add” link at the H323 row. You'll see this:

Set host field to "X.X.X.X" and press "Commit".

Now we must tell the system which node should take this peer into the configuration (this is exteremely useful for cluster configurations), Press “Nodes” link in the terminator edit mode and press “Add” there. You'll see:

Select need node. In single-node configuration there will be only one choice available. Press “Commit”.

Congratulations! Terminator is configured.

Configure originator

Now we shall add originator.

Go to Home >> Dial-peers >> Originators. Here you can see the list of originators just like this:

If yours is empty, don't worry - now we'll start filling it. Press “Add” now. You'll see the following screen:

Here check the “enabled” checkbox. Give name to originator, for example, small_customer_gw1. Select originator's company (SmallCustomer) from drop-menu. Select originator's billing pack (small_customer1_pack) from drop-menu. Select “default” routing class. Set profit to “profit only”. As our originator supports SIP only, uncheck the H323 checkbox. Press “Commit”. Now you shall see originator in a list.

Now you must complete originator's configuration.

Press “Edit” near originator in a list. You'll see a screen like this:

Look at the links at the bottom. They will help us to finalize the configuration.

As our customer uses SIP, press “Add” in the SIP row. You'll see a screen like this:

Set here “host” filed to “Y.Y.Y.Y” and press “Commit”.

We're almost done. Now we need to set up a route between originator and terminator. Return to editing mode of originator and follow the link “Routes”. You will see this:

This means that currently there are no routes configured. No big deal. Press “Add” and look at:

In the drop-menu “route” select our provider “great_provider_gw1” and press “Commit”.

Now configure nodes, on which this peer must sit, just same as we did for terminator.

Congratulations! That's all! Configuration part is over.

But as curious people, we wan't to check that everything is fine. It's easy to do! Read next section.

Checking dialplan

Dialplan checker is a very convenient tool. It makes us able to check the call path, the way the call travels through the system from the inbound point to outbound.

Dialplan checker's web page is linked with the Routing Module, so you can be sure that results that you see will be the same when the real call passes through Streamco Softswitch system.

Quick links to dialplan exist in every inbound traffic point. Go to editing mode of originator. Press “Dialplan” link.

You'll see the page like this:

If our originator was configured correctly, you shall see it in drop-menu. Select it. In “destination” field put any number on code 1, for example 1212368422. Then press “Show”. Here is what I see:

If you can see the same - then everything is configured correctly and you can start passing calls through the system and making profit!