Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Html
<div id="fb-root"></div>
<script>(function(d, s, id) {
  var js, fjs = d.getElementsByTagName(s)[0];
  if (d.getElementById(id)) return;
  js = d.createElement(s); js.id = id;
  js.src = 'https://connect.facebook.net/en_US/sdk.js#xfbml=1&version=v2.11';
  fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>
Html
<div class="fb-like" data-href="#" data-layout="button_count" data-action="recommend" data-size="large" data-show-faces="true" data-share="true"></div>
Html
 <div class="lang-box-pdf">
		</div>
		<div class="google-lang">
			<div id="google_translate_element">
			</div>
			<script type="text/javascript">
					function googleTranslateElementInit() {
						new google.translate.TranslateElement({pageLanguage: 'en', includedLanguages: 'de,es,fr,it,nl', autoDisplay: false}, 'google_translate_element');
						}
			</script>
			<script type="text/javascript" src="//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script>
		</div>
		
		<div class="pdf-button">
			<a href="#" alt="Convert to .pdf" title="Convert to .pdf"><img src="https://confluence.wildix.com/download/attachments/14549012/pdf-button-download-wildix-documentation.png"></a>
		</div>
	</div>
</div>

...

Document description

Created: March 2020

...

Scroll export button
scopecurrent
template-id0fa09813-8b86-460a-aa1d-ef450a80e9ce
quick-starttrue
add-onScroll PDF Exporter

Info

The Article describes how to see the number of concurrent calls on a trunk by adding a tag so it is recorded in CDR-View.

Created: March 2020

Permalink: https://wildix.atlassian.net/wiki/x/yQDOAQ

Table of Contents

Introduction

There might be a scenario where someone needs to know the  number of concurrent calls over a trunk. This can sometimes be important in terms of capacity planning, example; for billing purposes or just to limit/control how many concurrent calls are placed on a trunk.

This custom application can be used to provide this data in CDR-View on a call by call basis.  And of course, CDR-View could then be used to pull records for a specific time frame or filter, then sort by the tag field and locate the maximum number for the “concurrent calls” tag.

Prerequisites

There are 2 applications that are needed in order to be able to count concurrent calls, please read carefully each one.

...

Once our channels are marked (Grouped), all we have to do is count them.  That is the purpose of GROUP_COUNT application.

Dialplan Configuration

Outbound calls

As mentioned, two applications need to be used to count channels.  Probably the easiest way to do this is in the Dialplan entries that “Dial the trunk”.  Let's assume you have an entry in your  Dialplan to dial National numbers in the USA. So, for example, 1 followed by 10 digits.  With the following Dialplan you can count all concurrent calls that dialed a national number: 

Image Added

  1. Custom application -> Set(GROUP()=TrunkOUT) - here we are marking this channel (call) with the label “TrunkOut”.  This is simply done so that we can then use the Group Count application next
  2. Set -> Tags -> calls:${GROUP_COUNT(TrunkOUT)} -  here we are setting a Tag (so you can see the result in cdrview) with the concurrent calls count.  For this, we use the function “${GROUP_COUNT(TrunkOUT)}”. Please notice that we pass as argument to this application which is the label “TrunkOUT”.  What this will do is check all active channels (active calls) and count those marked as “TrunkOUT”. Thus it produces a count of concurrent calls that are “grouped” into the TrunkOUT group
  3. Dial the trunk -> select a trunk - just dial the trunk as you would normally do.

Once the 2 mentioned applications are added to the Dialplan, the following is what you will see in CDR-View: 

Image Added

In the previous picture, the first 3 calls were concurrent (all 3 were active at the same time).  And you can see in the tags that every new call made increased the count.

In this example Dialplan, it will ONLY count national calls.  But of course you can choose to count all calls, international calls separately, or whatever you’d like.  You simply need to use the Set Group methodology for the group of calls that you're interested in.

Inbound calls

For inbound calls we also need to use the above mentioned applications.  Most likely the best place to put such applications is in your "main" Dialplan procedure (default Dialplan for inbound calls).  So, let's assume that your trunk has 10 DIDs and that you want to count ALL incoming calls. You would need to put something like the following in every DID entry: 

Image Added

  1. Custom application -> Set(GROUP()=TrunkIN) - here we are marking this channel (call) with the label “TrunkIN”
  2. Set -> Tags -> calls:${GROUP_COUNT(TrunkIN)} - here we are setting a Tag (so you can see the result in cdrview) with the concurrent calls count. For that we use the function “${GROUP_COUNT(TrunkIN)}”
  3. Dial the phone -> Number 108 - Just dial the phone (or anything you wish to do for this DID) as you would normally do.

...

Once the 2 mentioned applications are added to the dial plan for inbound calls, the following is what you will see in CDR-View: 

Image Added

In the previous picture, the first 3 calls were concurrent (all 3 were active at the same time) and you can see in tags that every new incoming call made increased the count.

All calls (total concurrent calls)

In the Dialplans below, inbound and outbound calls are all grouped together.  This results in a tag that will tell you a total concurrent count on the trunk being used.  You see that this is accomplished simply by using the same label in both inbound and outbound calls. So for instance, just use Trunk instead of TrunkOUT and TrunkIN.  Example below:

Image Added
Image Added


When the same label is used for both inbound and outbound calls, CDR-View will look like this: 

Image Added

In the previous picture only the first 2 calls are inbound and the third one was outbound. Notice however that all 3 of them were active concurrently and  were counted together.

Notes

When assigning a label to channels, please make sure the label is not used anywhere else (Call group names, Trunk names, Dialplans names  and so on). Otherwise, it could lead to incorrect counting.

...


Macrosuite divider macro
dividerTypetext
dividerWidth70
emoji{"id":"smile","name":"Smiling Face with Open Mouth and Smiling Eyes","short_names":["smile"],"colons":":smile:","emoticons":["C:","c:",":D",":-D"],"unified":"1f604","skin":null,"native":"😄"}
textColor#000000
dividerWeight1
labelPositionmiddle
textAlignmentcenter
iconColor#0052CC
fontSizemedium
textNot finding the help you need? Join the Facebook group to ask a question!
emojiEnabledfalse
dividerColor#DFE1E6
dividerIconbootstrap/CloudsFill

Button macro
buttonTextFacebook
isButtonShadowOntrue
emoji{"id":"smile","name":"Smiling Face with Open Mouth and Smiling Eyes","short_names":["smile"],"colons":":smile:","emoticons":["C:","c:",":D",":-D"],"unified":"1f604","skin":null,"native":"😄"}
buttonBorderColor#4267b2ff
buttonColor#4267b2ff
buttonNewTabfalse
buttonFontColor#ffffff
buttonSizemedium
buttonIconColor#ffffff
buttonWidthDetection46
buttonHoverColor#ffffff
buttonIconfont-awesome/FacebookSquare
buttonTypeicon_left
buttonLink{"link":"https://www.facebook.com/groups/wildixtechwizards","source":"direct"}
buttonNewLink
buttonRadius3
buttonShadow0
id228
emojiEnabledfalse
buttonWidth20