Reports – VitalPBX Wiki https://wiki.vitalpbx.org Learn how our latest VitalPBX version will enhance your business communication Mon, 18 Dec 2023 15:35:33 +0000 en-US hourly 1 https://wordpress.org/?v=6.5.2 https://wiki.vitalpbx.org/wp-content/uploads/2023/11/cropped-vitalbpxwikiicon-8-32x32.png Reports – VitalPBX Wiki https://wiki.vitalpbx.org 32 32 IAX2 Settings https://wiki.vitalpbx.org/wiki/pbx-reports/iax2-settings/ https://wiki.vitalpbx.org/wiki/pbx-reports/iax2-settings/#respond Thu, 09 Nov 2023 23:06:17 +0000 https://wiki.vitalpbx.org/?post_type=docs&p=546 Next, we have the IAX2 Settings under Settings > Technology Settings > IAX2 Settings. Here we can configure various options for IAX2. Again, most of the time these do not need to be changed, and in this guide, we explain only the most common to configure.

In the General Tab, you can change the Bind Port, which is the port used to register IAX2 devices and trunks. If you change this port, you also need to change it in the Firewall Services. You can also change the default Language for the voice prompts that IAX2 devices use. Additionally, you can set the Bandwidth which will determine the codec to use from the selected codec list.

Next, we have the Registration Tab. This tab holds settings used for different timings and counts.

Afterward, there’s the Codecs Tab. This tab allows you to choose who has the Codec Priority.
This can be one of the following options.

  • Caller (Default) – This considers the caller’s preferred order over the host’s.
  • Host – This considers the hosts’s preferred order over the caller’s.
  • Disabled – This disables the consideration of codecs altogether. This is the original
    behavior prior to the addition of preferences being added.
  • Reqonly – This is the same as Disabled. The call is only accepted if the requested
    format is available.

Below, you can choose the codecs to be used with IAX2 devices and trunks. In the left column,
you have the Available Codecs, and to the right the Selected Codecs.

Finally, we have the Security Tab for the IAX2 Settings. Here you will find various security
parameters that you can add to IAX2 devices.

]]>
https://wiki.vitalpbx.org/wiki/pbx-reports/iax2-settings/feed/ 0
PJSIP Settings https://wiki.vitalpbx.org/wiki/pbx-reports/pjsip-settings/ https://wiki.vitalpbx.org/wiki/pbx-reports/pjsip-settings/#respond Thu, 09 Nov 2023 22:51:00 +0000 https://wiki.vitalpbx.org/?post_type=docs&p=542 Now let’s take a look into various advanced settings we can configure for the technologies VitalPBX manages. Note that we are not covering every single option throughout this guide as these get more specific to the technology and go out of the scope of this guide. This is more for you to know where you will find these settings should you need to modify them. To learn more about these settings and what they are used for, we recommend you look into Asterisk’s official documents about the topic and documentation dedicated to the technologies themselves. You can also use the tooltips for each option by hovering over a field title. Here we just make sure that they are available to you. We will first cover PJSIP Settings as this is the main technology for VitalPBX.

First, let’s go to Settings > Technology Settings > PJSIP Settings. Here you will find general settings for the PJSIP protocol.

We visited this module when we looked into the NAT Settings. But aside from this, here you can define default Codecs PJSIP extensions and Trunks will use. You can also change the general Language that is used for voice prompts used with PJSIP endpoints. Here you can also change the Bind and TLS Bind ports. If you change these ports, you must also make the change in the Firewall so your devices can register with the new ports.

Other important aspects you will find here are the Certificate and SSL Method, but we will see more about this when we take a look into the security features with VitalPBX.

Most of the time, these features will be left with the default value, but if you make any changes here, you can Save and Apply Changes.

Now, let’s look into PJSIP Transports. These can be created under Settings > Technology Settings > PJSIP Transports.

PJSIP Transports are usually used when the server in which VitalPBX is installed has multiple network interfaces and you have SIP/PJSIP Trunks connected through these interfaces. When you configure the NAT settings, the IP address used for the SDP (Session Description Protocol) is the one defined in the NAT settings. Thus your Trunk Provider will reject the calls because you are not sending the IP Address assigned to you for their service.

Here is where PJSIP Transports come into play so you can create a transport where NAT settings are not used and can then be assigned to a Trunk. This way, the trunk at the moment of creating the SDP uses the IP assigned to the interface connected with the Trunk Provider.

This is a very particular case, and it is uncommon with internet-based VoIP providers. Default Transports for UDP, TCP, WebRTC, and Microsoft© Teams™ trunks are created automatically, so there is no need to create these and they cannot be modified or deleted. So creating PJSIP Transports is rare unless you need it for your use case.

]]>
https://wiki.vitalpbx.org/wiki/pbx-reports/pjsip-settings/feed/ 0
PBX Reports https://wiki.vitalpbx.org/wiki/pbx-reports/pbx-reports/ https://wiki.vitalpbx.org/wiki/pbx-reports/pbx-reports/#respond Thu, 09 Nov 2023 21:52:38 +0000 https://wiki.vitalpbx.org/?post_type=docs&p=526 Next, we will see PBX reports. These are a set of reports that will help you monitor the registration of devices and trunks, as well as active calls in your VitalPBX in real-time. Let’s start with Active Calls by going to Reports > PBX Reports > Active Calls.

Here you will see all of the active calls in your VitalPBX at that moment in real-time. If you place a call to another extension or a feature code, you will see the call appear and display information about that particular code.

Next, we will see modules specific to PJSIP, SIP, and IAX technologies. Within these modules, you will see information about the extensions, trunks, and outbound registrations in your VitalPBX.

We will only see the PJSIP module as this is basically the same for SIP and IAX devices. So we go to Reports > PBX Reports > PJSIP Endpoints.

The module will have three tabs. In the case of PJSIP, we first have the Endpoints tab these are the devices created for our extensions. You can see the extension number they are associated with, as well as the registration status for the devices. Since PJSIP can have multiple registrations for a single device, you may see multiple contacts in the contacts column. What is important to see here is that contacts have a status indicator. This indicator will shift from red to green depending on the registration status. All of this is updated in real-time. This way, you are able to monitor the registration of your devices. So if you turn off or de-register a device you will see it turn red or disappear from the table in real time.

The next tab is the Trunks tab.

In the trunks tab, you can see your trunks and the registered devices. Similarly to the extensions, you have a status indicator to see if your trunk is registered successfully. The green indicator would mean that the trunk is registered successfully.

Trunks can be extended to the Outbound Registrations tab if you are using registration authentication with your trunks. This means you have a username and secret to register your trunks.This tab will give you additional information about your registration status.

As mentioned before, this is the same idea for the SIP and IAX devices reports. With these reports, you can monitor in real-time the registration status of your extensions and trunks.

]]>
https://wiki.vitalpbx.org/wiki/pbx-reports/pbx-reports/feed/ 0
CDR Filters https://wiki.vitalpbx.org/wiki/cdr-reports/cdr-filters/ https://wiki.vitalpbx.org/wiki/cdr-reports/cdr-filters/#respond Thu, 09 Nov 2023 21:37:05 +0000 https://wiki.vitalpbx.org/?post_type=docs&p=524 Our CDR records can become massive over time, and we might want to filter our results for a more specific set of calls. To do this, we can create CDR filters we can use over and over with our CDR reports. To create our CDR filters we must go to Reports > CDR Reports > CDR Filters.

First, we will need to enter a Description to identify the CDR filter. Next, we can add Duration and Talk Time Filters. This will limit the search to calls longer than a certain amount of seconds, but shorter than a certain amount of seconds. Duration is a call from the moment it starts ringing, and Talk Time is a call from the moment it is answered.

Afterward, we have Search Conditions. These are the heart and soul of our CDR filters. With these search conditions, we can make our CDR filters as specific as possible.

Search Conditions are comprised of the following aspects.

  • Condition – This is the type of condition you are adding. There are two options, AND
    or OR. AND means that the condition has to be met for the filter to apply, and OR
    means that this is an optional condition. If you have experience with MySQL-type
    searches, these condition types will make more sense as these filters are basically a
    MySQL search.
  • Search By – This is the field that this condition will consider in the search. You can
    choose between the following options.
  • Caller ID – This will use the Caller ID information field.
  • Source – This will use the source field. The source is who originated the call.
  • Destination – This will use the destination field. The destination is the number
    dialed.
  • DID – This will use the DID field. The DID is the DID number dialed. This is only
    for incoming calls.
  • Account Code – This will use the Account Code field. An account code is
    created in Extensions and helps filter by group of extensions using the same
    account code.
  • Customer Code – This will use the Customer Code field. A customer code is
    created in the customer code module. This is used to filter by a common
    customer type for easier searching.
  • Status – This will use the Status field. The status is the outcome status of a
    call. This can be Answered, No Answer, Busy, or Failed.
  • Call Type – This will use the Call Type field. The call type is the type of call that
    was made. This can be Internal, for calls between extensions, Incoming, for
    calls received through a trunk, Outgoing, for outgoing calls made through a
    trunk, and Transit, for incoming calls that came through a trunk and were
    routed to another trunk.
  • Value – This is the value used for the Search By option.
  • Exclude – This will determine if the condition will be included or excluded in the
    search.
  • Mode – This is how the value is considered. You can consider the value Exactly as it
    is, Beginning with, is Contained within, or Ending with. Status and Call Type can only
    have Exact modes.

You can create as many Search Conditions as you need to make the CDR filter as specific as you want by clicking the green Add button in the right-hand corner. Remove them by clicking the red Trash button next to the condition. You can then proceed to Save.

For example, we can make a filter that searches for calls made by extension 2000, by setting a condition that uses the Source of 2000 and is matched exactly. Then we can have another condition saying that calls from extension 2000 were to other extensions, by setting an AND condition with the Destination set to Beginning with 20, as our extensions begin with 20. And we only want to see Answered calls so we add an AND condition with the Status set to Answered.

We can apply our CDR filter in the CDR reports at Reports > CDR Reports > CDR, and click Refresh.

As you can see, the CDR report will show calls that match our filter.

]]>
https://wiki.vitalpbx.org/wiki/cdr-reports/cdr-filters/feed/ 0
CDR Reports https://wiki.vitalpbx.org/wiki/cdr-reports/cdr-reports/ https://wiki.vitalpbx.org/wiki/cdr-reports/cdr-reports/#respond Thu, 09 Nov 2023 21:30:43 +0000 https://wiki.vitalpbx.org/?post_type=docs&p=522 The CDR or Call Detail Records/Reporting allows you to see the full history of calls in your VitalPBX installation. This way you can track calls to the time and second they occurred. To go to the CDR reports we must go to Reports > CDR Reports > CDR.

As mentioned previously, all calls placed and received will be displayed here. In the top section, you can filter out the calls for a specific search. We will see how to create advanced filters in the next lesson. You can quickly filter by the Source and Destination, as well as a Date Range by establishing the From and To date range. You can then click the green Refresh button in the lower right-hand corner to apply the filters.

Next, you have the Call Records table. You can choose how many entries to see per page. This table shows you the Date and Time the call was placed/received, the Caller ID information, From where the call was placed, To where the call was made, the DID number called, the Call Type, the Duration of the call from the moment it started ringing, the Talk Time from when the call was answered, the Account Code if it was used, the Customer Code if it was used, the Status, and the Call Recording.

If you have a Starter License or are subscribed to any of our Licensing Plans, you will have the CEL Events extended feature. We will see more about CEL events, and how to enable and configure them later.

This table of records can be exported in CSV or PDF format. You can then process this information using a number processing application.

You can listen to a call recording by clicking on the Play icon in the call recording column. This will open a modal with the call recording and will show a download button to download the call recording file.

This way you can listen to call recordings directly and download the files. For a more advanced way to manage and download call recordings, please refer to the Sonata Recordings lessons and manual.

When you have the CEL Events extended feature, you can click on the hamburger (three lines) icon under the CEL Events column for a specific call. CEL Events can show you the trajectory of a call and allow you to monitor and troubleshoot how a call behaves.

CDR is a useful and powerful tool to monitor the call history for the whole VitalPBX. Now let’s look at how we can filter the CDR records in a more advanced way.

]]>
https://wiki.vitalpbx.org/wiki/cdr-reports/cdr-reports/feed/ 0
IVR Stats and IVR-Based Surveys https://wiki.vitalpbx.org/wiki/ivr-reports/ivr-stats-and-ivr-based-surveys/ https://wiki.vitalpbx.org/wiki/ivr-reports/ivr-stats-and-ivr-based-surveys/#respond Wed, 08 Nov 2023 22:57:23 +0000 https://wiki.vitalpbx.org/?post_type=docs&p=475 If you want to measure which are the most popular options in an IVR menu, the IVR Stats add-on module is the best way to do this. This is also useful if you want to create surveys your callers can enter their answers and see how your business is doing.

The IVR Stats module is a commercial add-on, that requires a license. Without a license, you can only monitor one IVR menu. This module can be licensed individually, or with any of our licensing plans.

Before we take a look at the module, you must modify your IVR menus. A new option called Generate Stats will appear once you have the IVR Stats add-on installed. You must enable this option to see information in the IVR Stats module.

Afterward, you can go to Reports > IVR Reports > IVR Stats.

The module is simple. You can select the IVR you wish to monitor, as well as a Start and End Date for a date range. Click on the Search button in the lower right-hand corner, and you will be shown a Summary and Detailed report for the IVR menu. The summary includes the entries and the number of times they have been pressed. While the detailed report has the call information related to the option pressed. Both of the reports can be exported to a CSV file.

With this in mind, one of the most common use cases for the IVR stats is to create surveys you callers can answer.

To create a survey you must create what we call an IVR Tree. An IVR tree is simply multiple IVR menus linked together. You have a main IVR menu we call the IVR Trunk, and each entry for this menu can lead to IVR Branches, which can lead to IVR Leaves.

An example can look as follows.

  • IVR Trunk (Main Menu with the Main Question, e.g. “How was our service?”)
  • IVR Branch (Answer 1, e.g. “Good”, This branch has another question, e.g.
    “Would you recommend us?”)
  • IVR Leaf 1 (Answer 1, e.g. “Yes”)
  • IVR Leaf 2 (Answer 2, e.g. “No”)
  • IVR Leaf 3 (Answer 2, e.g. “Regular”)
  • IVR Leaf 4 (Answer 3, e.g. “Bad”

The trunk and each branch would be an IVR menu. Leaves would be terminal destinations like announcements, voicemail boxes, or custom contexts.

You can add other IVR branches to your IVR branches, to expand on questions. You can make your surveys as simple or as complex as you need them to be.

The example above is a simple survey asking “How was our service?” The caller can answer “Good” by pressing 1, “Regular” by pressing 2, and “Bad” by pressing 3. The IVR Branch 1 has the additional question “Would you recommend us?” The customer can answer “Yes” by pressing 1, and “No” by pressing 2. So, to create this survey, you must create 2 IVR menus, one for the trunk and the other one for the branch.

Note: You will notice that Entries are required to create the IVR menu, but if you
don’t have the IVR menu branches created, you cannot set them as entry
destinations. For this, you can create the branches first with their IVR leaves or
use temporary entries first, and move from end to beginning to create your IVR
tree.

First, we create our IVR Branch. The question will be the Welcome Message, so we also enable the Welcome After Timeout and Welcome After Retry options. For now, the Invalid and Timeout Destinations will be set to Hang Up the call. Remember to enable the Generate Stats option.

For our Entries, we add two entries with Digits 1 and 2 respectively. Ideally, these entries will take you to an Announcement that plays back a sound file thanking the caller for answering the survey.

You can now Save and Apply Changes.

Afterward, we can create the IVR Trunk. Similarly, the question will be set on the Welcome Message, and we enable the Welcome After Timeout and Welcome After Retry options. The Invalid and Timeout Destinations will be set to Hang Up the call. Remember to enable the Generate Stats option.

For the entries, based on our example layout, we create three entries. The first one will take you to the IVR Branch we created, and the second and third would ideally take you to an Announcement that thanks the caller for answering the survey.

With this, you can now add the survey as a destination in your VitalPBX. This can be on a Queue, for example, set as the Destination if the Agent Hangs Up First. So the caller can answer the survey, and you can monitor the answers with the IVR Stats module for the IVR Tree. IVR menus can be much more than just selectors for destinations.

]]>
https://wiki.vitalpbx.org/wiki/ivr-reports/ivr-stats-and-ivr-based-surveys/feed/ 0