[asterisk-bugs] [Asterisk 0014275]: Group does not count all channels

Asterisk Bug Tracker noreply at bugs.digium.com
Thu Feb 12 15:58:29 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-12 15:58 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. 
====================================================================== 

---------------------------------------------------------------------- 
 (0100067) Corydon76 (administrator) - 2009-02-12 15:58
 http://bugs.digium.com/view.php?id=14275#c100067 
---------------------------------------------------------------------- 
My working theory, to be confirmed or not, is that optimization is causing
the channel to go away and the replacement is not inheriting the group
definition. 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2009-02-12 15:58 Corydon76      Note Added: 0100067                          
======================================================================




More information about the asterisk-bugs mailing list