[asterisk-bugs] [JIRA] (ASTERISK-28379) PJSIP show channelstats incorrect information output
    Vyrva Igor (JIRA) 
    noreply at issues.asterisk.org
       
    Wed Apr 10 08:29:47 CDT 2019
    
    
  
Vyrva Igor created ASTERISK-28379:
-------------------------------------
             Summary: PJSIP show channelstats incorrect information output
                 Key: ASTERISK-28379
                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-28379
             Project: Asterisk
          Issue Type: Bug
      Security Level: None
          Components: Channels/chan_pjsip
    Affects Versions: 16.3.0, 16.2.1, 16.1.1, 16.0.1
         Environment:  CentOS 7 (7.6.1810)
Kernel (4.20.3-1.el7.elrepo.x86_64)
Asterisk 16 (16.3.0) 
            Reporter: Vyrva Igor
Problem 1:
There are oddities in the work of the team:
{noformat} 
pjsip show channelstats
{noformat} 
With a long conversation in "Receive" the number of losses can "jump" by a number several times higher than the number of packets themselves:
{noformat}
pjsip show channelstats 
                                            ...........Receive......... .........Transmit.......... 
BridgeId ChannelId ........ UpTime.. Codec.   Count    Lost Pct  Jitter   Count    Lost Pct  Jitter RTT.... 
=========================================================================================================== 
759e4c44 439-0000002f       00:00:11 slin      393       0    0   0.000    405       0    0   0.000   0.031 
759e4c44 pjsip-noreg-000000 00:00:11 alaw      405       0    0   0.000    393       0    0   0.002   0.000
Objects found: 2
{noformat}
Wait ~12 min
{noformat}
pjsip show channelstats 
                                            ...........Receive......... .........Transmit.......... 
BridgeId ChannelId ........ UpTime.. Codec.   Count    Lost Pct  Jitter   Count    Lost Pct  Jitter RTT.... 
=========================================================================================================== 
759e4c44 439-0000002f       00:12:27 slin    37205       0    0   0.000  37217       0    0   0.000   0.027 
759e4c44 pjsip-noreg-000000 00:12:27 alaw    37217       0    0   0.000  37205       0    0   0.001   0.000 
Objects found: 2
{noformat}
Wait +2 min
{noformat}
pjsip show channelstats 
                                            ...........Receive......... .........Transmit.......... 
BridgeId ChannelId ........ UpTime.. Codec.   Count    Lost Pct  Jitter   Count    Lost Pct  Jitter RTT.... 
=========================================================================================================== 
759e4c44 439-0000002f       00:14:34 slin    43573       0    0   0.000  43584       0    0   0.000   0.027 
759e4c44 pjsip-noreg-000000 00:14:34 alaw    43584  4294901K 98394   0.000  43573       0    0   0.000   0.000 
Objects found: 2
{noformat}
Wait +7 min
{noformat}
pjsip show channelstats 
                                            ...........Receive......... .........Transmit.......... 
BridgeId ChannelId ........ UpTime.. Codec.   Count    Lost Pct  Jitter   Count    Lost Pct  Jitter RTT.... 
=========================================================================================================== 
759e4c44 439-0000002f       00:21:21 slin    63893  4294901K 67118   0.000  63890       0    0   0.000   0.026 
759e4c44 pjsip-noreg-000000 00:21:21 alaw    63890  4294901K 67121   0.000  63893       0    0   0.003   0.000 
Objects found: 2
{noformat}
As we have seen, packet "Receive" much less than packages "Lost" 4294901K. This suggests that these data are not true.
But if we wait a little longer, these Losses will disappear:
{noformat}
pjsip show channelstats 
                                            ...........Receive......... .........Transmit.......... 
BridgeId ChannelId ........ UpTime.. Codec.   Count    Lost Pct  Jitter   Count    Lost Pct  Jitter RTT.... 
=========================================================================================================== 
759e4c44 439-0000002f       00:25:28 slin    76243       0    0   0.000  76240       0    0   0.000   0.026 
759e4c44 pjsip-noreg-000000 00:25:28 alaw    76240       0    0   0.000  76243       0    0   0.001   0.000 
Objects found: 2
{noformat}
This behavior is extremely strange for a tool that should give information about the quality of the channel
In this example, the scheme was used:
Phone 1 <-> Asterisk 14(PJSIP) <-> Asterisk 16 (PJSIP) <-> Phone 2
A similar situation if you make a call on the scheme:
Phone 1 <-> Asterisk 16 (PJSIP) <-> Phone 2
Settings:
pjsip.conf
{noformat}
[system]
 type=system
 timer_t1=500
 timer_b=32000
 compact_headers=no
[global]
 type=global
 debug=no 
[transport-udp]
 type = transport
  protocol = udp
  bind = 0.0.0.0
  allow_reload = yes
[phone-endpoint](!)
 type = endpoint
  context = local
  disallow = all
  allow = ulaw,alaw
  dtmf_mode = rfc4733
  direct_media = no 
  language = ru
[phone-auth](!)
 type = auth
  auth_type = userpass
  password = pa$$w0rd
[phone-aor](!)
 type = aor
  max_contacts = 1
  default_expiration=600
  qualify_frequency=150
  authenticate_qualify=yes
[439](phone-endpoint)
 auth = 439
  aors = 439
[439](phone-auth)
 username = 439
[439](phone-aor)
[pjsip-noreg]
 type = endpoint
  aors = pjsip-noreg
  context = local
  contact_user = 555666
  disallow = all
  allow = alaw
  allow = ulaw
  rtp_symmetric = yes
  direct_media = no
  sdp_session = MB
  allow_subscribe = no
  allow_transfer = no
  timers = no
  asymmetric_rtp_codec = yes
[pjsip-noreg]
 type = aor
  contact = sip:555555 at 192.168.6.66:5065
  qualify_frequency = 300
  authenticate_qualify = yes
  max_contacts = 5
[pjsip-noreg]
 type = identify
  endpoint = pjsip-noreg
  match = 192.168.6.66
{noformat}
On Asterisk 14 settings similar
-----------------------------------------------------------------------------------
Problem 2:
On some Phones (as an example D-Link DPH-400SE) if you put the interlocutor on Hold, the packet counter "Receive" is reset:
{noformat}
-- Started music on hold, class 'default', on channel 'PJSIP/pjsip-noreg-0000002e'
CLI> pjsip show channelstats 
                                            ...........Receive......... .........Transmit.......... 
BridgeId ChannelId ........ UpTime.. Codec.   Count    Lost Pct  Jitter   Count    Lost Pct  Jitter RTT.... 
=========================================================================================================== 
759e4c44 439-0000002f       00:29:18 alaw    87359       0    0   0.000  87353       0    0   0.000   0.027 
759e4c44 pjsip-noreg-000000 00:29:18 alaw    87768       0    0   0.000  87770       0    0   0.001   0.000 
Objects found: 2
-- Stopped music on hold on PJSIP/pjsip-noreg-0000002e
CLI> pjsip show channelstats 
                                            ...........Receive......... .........Transmit.......... 
BridgeId ChannelId ........ UpTime.. Codec.   Count    Lost Pct  Jitter   Count    Lost Pct  Jitter RTT.... 
=========================================================================================================== 
759e4c44 439-0000002f       00:30:07 alaw      370       0    0   0.000  87728       0    0   0.015   0.027 
759e4c44 pjsip-noreg-000000 00:30:07 alaw    90222       0    0   0.000  90219       0    0   0.000   0.000 
Objects found: 2
{noformat}
In this case, the call went according to the scheme:
Phone 1 <-> Asterisk 14(PJSIP) <-> Asterisk 16 (PJSIP) <-> Phone 2
And Hold turn on your Phone 2
But this happens even if on Hold to include on the Phone connected to another Asterisk:
{noformat}
 pjsip show channelstats
                                             ...........Receive......... .........Transmit..........
 BridgeId ChannelId ........ UpTime.. Codec.   Count    Lost Pct  Jitter   Count    Lost Pct  Jitter RTT....
 ===========================================================================================================
 abd7fe33 115-00000001       00:00:08 alaw      311       0    0   0.000    287       0    0   0.006   0.000
 abd7fe33 pjsip-noreg-000000 00:00:08 alaw      287       0    0   0.000    308       0    0   0.000   0.000
Objects found: 2
pjsip show channelstats
                                             ...........Receive......... .........Transmit..........
 BridgeId ChannelId ........ UpTime.. Codec.   Count    Lost Pct  Jitter   Count    Lost Pct  Jitter RTT....
 ===========================================================================================================
 abd7fe33 115-00000001       00:00:18 alaw      793       0    0 169.000    767       0    0   0.006   0.020
 abd7fe33 pjsip-noreg-000000 00:00:18 alaw      121       0    0   0.000    790       0    0   0.001   0.000
Objects found: 2
{noformat}
Only in this case also appear Lost in Transmit
{noformat}
pjsip show channelstats
                                             ...........Receive......... .........Transmit..........
 BridgeId ChannelId ........ UpTime.. Codec.   Count    Lost Pct  Jitter   Count    Lost Pct  Jitter RTT....
 ===========================================================================================================
 abd7fe33 115-00000001       00:00:25 alaw     1164       0    0 155.000   1135       0    0   0.006   0.020
 abd7fe33 pjsip-noreg-000000 00:00:25 alaw      273       0    0   0.000   1161   18264  1573   0.000   0.021
Objects found: 2
{noformat}
This behavior is also incorrect
--
This message was sent by Atlassian JIRA
(v6.2#6252)
    
    
More information about the asterisk-bugs
mailing list