Skip to main content

How does VCS process a call?

The call flow process, if Client has all 3 types of integration, is the following:

  1. Once the destination number is dialed, either the registered customer or PBX will deliver a call request to softswitch platform.

  2. In turn, softswitch will send RADIUS AUTH packet to JeraSoft VCS software, asking if we can authorize this particular call.

  3. Jerasoft VCS processes the request and provides an answer if the call is authorized. If yes, it will also supply h323-credit-time value (in details, VCS checks if Client exists in a system and is active, if Client has enough Balance and if Client has a Rate for respective destination. Using that info, VCS calculates h323-credit-time (allowed Balance divided by Rate)). If Client has Unlimited Credit, the system will send 7200 by default as max allowed call duration. In case Client has Money or Free Minutes Package to this destination, the VCS will send the respective calculated amounts.

  4. Next, switch will send similar packet to VCS, but via SIP - a SIP INVITE message.

  5. VCS processes it in the same fashion as with RADIUS and provide an answer to the switch, if this call is authorized.

  6. Depending on routing integration (RADIUS routing or SIP REDIRECT based), VCS will also check and provide a list of available destinations for respective call, by looking through its Routing Table. So, call will be authorized via RADIUS/SIP and a list of possible routes will be supplied back to the switch platform, either in RADIUS or SIP packets.

  7. When switch receives OK auth for particular call and routing instruction, it will be able to try and connect the call to a terminating party, usually this is a VOIP destination vendor. After call connects, switch will send a so called RADIUS ACCOUNTING START packet, so VCS can open a new call session in Active Calls section.

  8. When call ends, switch creates and sends RADIUS ACCOUNTING STOP packet, which finalizes a previously opened Active Calls entry, and provides all necessary information to VCS in order to actually bill the call.

  9. All RADIUS ACCOUNTING STOP packets are collected and VCS Calculator tool bills these records and adds them to VCS database. These calls can be viewed in Summary or xDRs List sections.

  10. In addition, Files Downloader tool will download respective CDR file from Switch to VCS server, when it is made available.

  11. Files Collector tool will parse the xDR file and create a list of calls.

  12. Calculator tool will bill all calls in the prepared list and put them to VCS database. However, the VCS system has dublicate protection, so if particular call was earlier processed from RADIUS, system will see that and discard the same call received from xDR file.

There are some tips in a case of issues:

  1. If calls are failing, you may check RADIUS and SIP logs for clues. Try running following commands on VCS server, when you are logged in:

    • For VCS version 3.12.0 and lower:

      less /usr/local/vcs/var/log/bbsipd.log and less /usr/local/vcs/var/log/bbradiusd.log
    • For VCS version 3.13.0 and higher:

      less /opt/jerasoft/vcs-data/log/bbsipd.log and less /opt/jerasoft/vcs-data/log/bbradiusd.log`
  2. If nothing is displayed in Active Calls section, you need to check if Active Calls checkbox in Gateways section is enabled and if the system receives RADIUS ACCOUNTING START packets.

  3. If there are no data in reports:

    • in case call information comes only from RADIUS ACCOUNTING STOP packet, you need to check if the system receives them and whether Calculator is working without errors.

    • in case call information comes only from xDR files, you need to check if the following services are working without errors (please keep an order):

      • Files Downloader
      • Files Collector
      • Calculator
tip

Sometimes these services do not write logs, this can be caused by the reason that services are stuck or can't be run. You can check Task Scheduler log to see why the service can't be run.