[asterisk-bugs] [Asterisk 0014275]: Group does not count all channels
Asterisk Bug Tracker
noreply at bugs.digium.com
Fri Feb 13 05:37:54 CST 2009
A NOTE has been added to this issue.
======================================================================
http://bugs.digium.com/view.php?id=14275
======================================================================
Reported By: kowalma
Assigned To: blitzrage
======================================================================
Project: Asterisk
Issue ID: 14275
Category: Functions/func_groupcount
Reproducibility: always
Severity: minor
Priority: normal
Status: acknowledged
Asterisk Version: 1.6.0.3-rc1
Regression: No
SVN Branch (only for SVN checkouts, not tarball releases): N/A
SVN Revision (number only!):
Request Review:
======================================================================
Date Submitted: 2009-01-19 08:51 CST
Last Modified: 2009-02-13 05:37 CST
======================================================================
Summary: Group does not count all channels
Description:
I found issues with group function. I use following dialplan to count
connection on each trunk:
[pstn_out]
exten => _X.,1,Set(Proba=0)
exten => _X.,n,nocdr()
exten => _X.,n(start),GotoIf($[${GROUP_COUNT(pstn_TOTAL)} > 150]?full)
exten => _X.,n,GotoIf($[${Proba} = 20]?pelno)
exten => _X.,n,Set(losujTrunk=${RAND(1,6)})
exten => _X.,n,gosub(sprawdzTrunkpstn,${losujTrunk},1)
exten => _X.,n,GotoIf($[${TrunkOK} = 1]?trunkOK)
exten => _X.,n,set(Proba=$[${Proba} + 1])
exten => _X.,n,goto(start)
exten => _X.,n(trunkOK),GotoIf($[${GROUP_COUNT(pstn_T${losujTrunk})} <
$[${TrunkCap}+0] ]?traktPusty)
exten => _X.,n,set(Proba=$[${Proba} + 1])
exten => _X.,n,goto(start)
exten => _X.,n(traktPusty),Noop("Obecne liczba polaczen:
${GROUP_COUNT(pstn_TOTAL)} Trunk${losujTrunk}:
${GROUP_COUNT(pstn_T${losujTrunk})}")
exten => _X.,n,set(GROUP(pstn_T${losujTrunk})=pstn_T${losujTrunk})
exten => _X.,n,set(GROUP(pstn_TOTAL)=pstn_TOTAL)
exten => _X.,n,dial(${TrunkPeer}/${TrunkPrefix}${EXTEN})
;exten => _X.,n,dial(Local/${losujTrunk}123 at test)
exten => _X.,n,hangup(${HANGUPCAUSE})
exten => _X.,n(pelno),congestion
exten => h,1,hangup(16)
[sprawdzTrunkpstn]
exten => 1,1,set(TrunkOK=1)
exten => 1,n,set(TrunkCap=30)
exten => 1,n,set(TrunkPeer=SIP/mg0)
exten => 1,n,set(TrunkPrefix=1101)
exten => 1,n,return
exten => 2,1,set(TrunkOK=1)
exten => 2,n,set(TrunkCap=30)
exten => 2,n,set(TrunkPeer=SIP/mg0)
exten => 2,n,set(TrunkPrefix=1102)
exten => 2,n,return
exten => 3,1,set(TrunkOK=1)
exten => 3,n,set(TrunkCap=30)
exten => 3,n,set(TrunkPeer=SIP/mg0)
exten => 3,n,set(TrunkPrefix=1103)
exten => 3,n,return
exten => 4,1,set(TrunkOK=1)
exten => 4,n,set(TrunkCap=30)
exten => 4,n,set(TrunkPeer=SIP/mg0)
exten => 4,n,set(TrunkPrefix=1104)
exten => 4,n,return
exten => 5,1,set(TrunkOK=1)
exten => 5,n,set(TrunkCap=30)
exten => 5,n,set(TrunkPeer=SIP/mg1)
exten => 5,n,set(TrunkPrefix=1105)
exten => 5,n,return
exten => 6,1,set(TrunkOK=0)
exten => 6,n,set(TrunkCap=4)
exten => 6,n,set(TrunkPeer=SIP/192.168.0.20)
exten => 6,n,set(TrunkPrefix=16)
exten => 6,n,return
exten => i,1,set(TrunkOK=0)
exten => i,n,return
cals with prefix 1010 are routed to pstn_out context:
exten => _1010X.,1,nocdr()
exten => _1010X.,n,goto(pstn_out,${EXTEN:4},1)
exten => _1010X.,n,hangup(${HANGUPCAUSE})
and seems it works BUT:
Asterisk-node0:~# rasterisk -x "group show channels pstn"
Channel Group Category
Local/1010506017795 at mg-6e7a;2 pstn_T5 pstn_T5
Local/1010506017795 at mg-6e7a;2 pstn_TOTAL pstn_TOTAL
Local/1010509584481 at mg-4072;2 pstn_T3 pstn_T3
Local/1010509584481 at mg-4072;2 pstn_TOTAL pstn_TOTAL
Local/1010508539547 at mg-1830;2 pstn_T3 pstn_T3
Local/1010508539547 at mg-1830;2 pstn_TOTAL pstn_TOTAL
Local/1010507620141 at mg-656d;2 pstn_T5 pstn_T5
Local/1010507620141 at mg-656d;2 pstn_TOTAL pstn_TOTAL
Local/1010506123380 at mg-1df4;2 pstn_T2 pstn_T2
Local/1010506123380 at mg-1df4;2 pstn_TOTAL pstn_TOTAL
Local/105012501749256 at mg-cffa;2 pstn_T1 pstn_T1
Local/105012501749256 at mg-cffa;2 pstn_TOTAL pstn_TOTAL
12 active channels
shows that I have only 6 concurent connections but:
Asterisk-node0:~# rasterisk -x "core show channels" | grep 1010 | grep Up
SIP/3159-a512f478 03070601001620504061 Up
Dial(Local/101050406 at mg,12
SIP/3129-a51ce5a0 03070208001728516081 Up
Dial(Local/101051608 at mg,12
SIP/3117-a871dde8 03070102001257507984 Up
Dial(Local/101050798 at mg,12
SIP/1208-a5158760 01070001001607516050 Up
Dial(Local/101051605 at mg,12
SIP/2102-af8a71b0 02070005001167500139 Up
Dial(Local/101050013 at mg,12
SIP/1069-a4d00018 01230101001103184456 Up
Dial(Local/103018445 at mg,12
SIP/3131-a4d3bd38 03070205001782501038 Up
Dial(Local/101050103 at mg,12
SIP/3166-a4f62970 03070601001523501765 Up
Dial(Local/101050176 at mg,12
SIP/3192-a514d540 03070601001884503030 Up
Dial(Local/101050303 at mg,12
SIP/3141-a8e95aa0 03070207001666509616 Up
Dial(Local/101050961 at mg,12
SIP/1211-a4ff01d8 01070001001500502532 Up
Dial(Local/101050253 at mg,12
SIP/1074-a8ebce30 01230101001135322384 Up
Dial(Local/103032238 at mg,12
SIP/3133-a51c67c0 03070205001853501038 Up
Dial(Local/101050103 at mg,12
SIP/3145-af8b27b8 03070205001872501222 Up
Dial(Local/101050122 at mg,12
SIP/3136-a51aca80 03070208001833504166 Up
Dial(Local/101050416 at mg,12
SIP/1221-a519bc10 01070001001352509222 Up
Dial(Local/101050922 at mg,12
SIP/2130-a4fae368 02070004001188501418 Up
Dial(Local/101050141 at mg,12
SIP/3194-a4576268 03070601001889506123 Up
Dial(Local/101050612 at mg,12
SIP/3193-a8a83c68 03070102001820508539 Up
Dial(Local/101050853 at mg,12
SIP/3164-a8a04000 03070601001812603663 Up
Dial(Local/101060366 at mg,12
SIP/1076-a261c130 01230101001574713184 Up
Dial(Local/103071318 at mg,12
SIP/3137-a264dbf0 03070205001684501038 Up
Dial(Local/101050103 at mg,12
SIP/3142-ab809e18 03070205001642501038 Up
Dial(Local/101050103 at mg,12
SIP/3143-a1f8b448 03070205001708509293 Up
Dial(Local/101050929 at mg,12
SIP/3124-a204db98 03070102001593508480 Up
Dial(Local/101050848 at mg,12
SIP/2106-a7b6fc70 02070003000550505157 Up
Dial(Local/101050515 at mg,12
SIP/1072-a90e0880 01230101001335598612 Up
Dial(Local/103059861 at mg,12
SIP/3130-a7acc388 03070205001843501037 Up
Dial(Local/101050103 at mg,12
SIP/2133-a741c270 02070003000615502658 Up
Dial(Local/101050265 at mg,12
SIP/3134-a7a54d20 03070205001911501036 Up
Dial(Local/101050103 at mg,12
SIP/2123-a71eb930 02070003000661504268 Up
Dial(Local/101050426 at mg,12
SIP/3176-a74e9648 03070601001714509150 Up
Dial(Local/101050915 at mg,12
SIP/3162-a71aaea8 03070602001752508297 Up
Dial(Local/101050829 at mg,12
SIP/1209-a9035fe0 01070001000472512093 Up
Dial(Local/101051209 at mg,12
SIP/2107-a7aed6e8 02070003000558509376 Up
Dial(Local/101050937 at mg,12
SIP/2101-a7aaba08 02070005001066506169 Up
Dial(Local/101050616 at mg,12
SIP/2128-a7153fa8 02070003000811509023 Up
Dial(Local/101050902 at mg,12
SIP/1068-a695c718 01070404001902502492 Up
Dial(Local/101050249 at mg,12
SIP/3135-a6b7a340 03070205001644502313 Up
Dial(Local/101050231 at mg,12
SIP/3156-a6d7a660 03070601001445505104 Up
Dial(Local/101050510 at mg,12
SIP/3126-a9f3eb58 03070102001738508540 Up
Dial(Local/101050854 at mg,12
SIP/3173-aac36b88 03070602001888509501 Up
Dial(Local/101050950 at mg,12
SIP/3120-a87eff98 03070102001366507536 Up
Dial(Local/101050753 at mg,12
SIP/2134-a30081e8 02070004001871500177 Up
Dial(Local/101050017 at mg,12
Asterisk-node0:~#
SIP Agents dial number with special prefix and depending on that prefix *
decides if use LCR or not.
======================================================================
----------------------------------------------------------------------
(0100089) kowalma (reporter) - 2009-02-13 05:37
http://bugs.digium.com/view.php?id=14275#c100089
----------------------------------------------------------------------
Adding /n causes very high loads on the box.
Without /n box loads are ~0.3 with loads go up to 12 and call processing
is interupted.
I have approx 150 concurent calls.
Issue History
Date Modified Username Field Change
======================================================================
2009-02-13 05:37 kowalma Note Added: 0100089
======================================================================
More information about the asterisk-bugs
mailing list