Skip to content

Basic configuration

This Guideline explains how to configure Yeti to route your first test call.

In this Chapter we'll configure Yeti for receiving calls on IP address 127.0.0.1 (any port, UDP) and switching them (in case if B-number starts from 380) to the Gateway with IP address 128.0.0.1.

1. Creation of Contractors

At the first step it is necessary to configure two Contractors <contractors>: one with type Customer <contractor_customer> and second with type Vendor <contractor_vendor>. Both contractors should be Enabled.

Object to createAttributes
ContractorName: Contractor A
Enabled: True
Vendor: False
Customer: True
ContractorName: Contractor B
Enabled: True
Vendor: True
Customer: False

2. Creation of Accounts

At the second step it is necessary to configure two Accounts <accounts>: one will be linked to Contractor A (Customer) and second will be linked to Contractor B (Vendor). You should also set Max balance parameter for the Vendor to the some value that allow to make a call (current balance will be less than Max balance value). In our example we'll set 100 monetary units.

Object to createAttributes
AccountName: Account A
Contractor: Contractor A
AccountName: Account B
Contractor: Contractor B
Max Balance: 100

3. Creation of Gateways

At the third step it is necessary to configure two Gateways <gateways>: one will be linked to Contractor A (Customer) and second will be linked to Contractor B (Vendor). Both records should be Enabled. It is also important to allow origination at the Gateway A and termination to the Gateway B.

Object to createAttributes
GatewayName: Gateway A
Contractor: Contractor A
Enabled: True
Allow Origination: True
Allow Termination: False
GatewayName: Gateway B
Contractor: Contractor B
Enabled: True
Allow Origination: False
Allow Termination: True
Host: 128.0.0.1

4. Creation of Routing plan, Routing group and Dialpeer

At the fourth step it is necessary to configure:

  • at least one Routing Group <routing_group>{.interpreted-text role="ref"};
  • at least one Routing Plan <routing_plan>{.interpreted-text role="ref"} that is associated with Routing Group <routing_group> above;
  • at least one Dialpeer <dialpeers> that should be associated with Routing Group <routing_group>, Vendor <contractors>, Vendor's Account <accounts> and Vendor's Gateway <gateways> that were configured above. In our example we use 380 (international code of Ukraine) as Prefix and we'll pay one monetary unit per minute to the Vendor after the initial interval (by default - 1 second) and 2 monetary units during initial interval. This Dialpeer <dialpeers>{.interpreted-text role="ref"} will be used as a route for all traffic to Ukrainian numbers;
Object to createAttributes
Routing GroupName: My RoutingGroup
Routing PlanName: My RoutingPlan
Routing Groups: My RoutingGroup
DialpeerPrefix: 380
Enabled: True
Routing Group: My RoutingGroup
Vendor: Contractor B
Account: Account B
Initial Rate: 2
Next Rate: 1
Gateway: Gateway B

5. Creation of Rateplan and Destination

At the fifth step it is necessary to configure:

  • at least one Rateplan <rateplans>;
  • at least one Rate Group <rate_groups>;
  • at least one Destination <destinations> that should be associated with with Rate Group <rate_groups> above. In our example we also use 380 (international code of Ukraine) as Prefix and we'll receive 1.5 monetary units per minute from Customer after the initial interval and 3 monetary units during initial interval. So, in case of call with ten minutes length the profit will be (3-2)+(10-1)*(1.5-1) = 5.5 monetary units (16.5 will be received from the Customer and 11 will be paid to the Vendor);
Object to createAttributes
Rate Group upName: My RateGroup
RateplanName: My Rateplan
Rate Groups: My RateGroup
DestinationPrefix: 380
Enabled: True
Rate Group: My RateGroup
Initial Rate: 3
Next Rate: 1.5

6. Creation of Customer Auth

At the sixth step it is necessary to configure at least one Customers Auth <customer_auth> that should be associated with Customer <contractors>{.interpreted-text role="ref"}, Customer's Account <accounts>{.interpreted-text role="ref"} and Customer's Gateway <gateways>{.interpreted-text role="ref"}, Rateplan <rateplans> and Routing Group <routing_group> that were configured above.

Object to createAttributes
CustomerAuthName: My CustomerAuth
Customer: Contractor A
Account: Account A
Gateway: GatewayA
Rateplan: My RatePlan
RoutingPlan: My RoutingPlan
IP: 127.0.0.1

7. Test the call

At the last step it is necessary to create some Payment <payments> for topping up the balance of Account A and test the call (Customer's balance should be greater than Min balance value).

Object to createAttributes
PaymentAccount: Account A
Amount: 50

For the call testing it is necessary to fill Routing Simulation <routing_simulation> form and to press Simulate routing button.

Field nameValue
Remote ip127.0.0.1
Remote port10000
Src number001234567890
Dst number380662296132

As a result two records will be shown, where the first record is an actual record of Call Profile that will be send to the Yeti/SEMS node for making call. Full log of call processing also will be shown under the resulting records.

WARNING

If you don't see necessary results, please, make sure that you enter everything correctly.