So I understand the desire to get and show more details for the extensions but why get rid of the response time of the extensions in EPM? When I was using chan_sip you could bring up extensions in EPM and see every phone if it was online or not but after converting top PJSIP now I have to click on every extensions “show AOR” button to see if its responding. So annoying.

Chan_SIP allowed one contact per peer (extension) so seeing that 200 had a contact online was easy.

Chan_PJSIP follows SIP more closely and there can be N contacts per endpoint (extension). Means there could be 5 or 6 contacts. The list would become huge showing them all.

Reports → Asterisk Info will show all contacts on a single page.

It is actually not hard to show them. It is hard to link a specific AOR to a specific device in EPM though.

That data comes from this function: PJSIPShowRegistrationInboundContactStatuses
Which in raw form looks like this.

  4 => 
    array (size=16)
      'Event' => string 'ContactStatusDetail' (length=19)
      'AOR' => string '103' (length=3)
      'URI' => string 'sip:[email protected]:11939;transport=TLS;x-ast-orig-host=' (length=77)
      'UserAgent' => string 'Yealink SIP-T54W' (length=27)
      'RegExpire' => string '1647006562' (length=10)
      'ViaAddress' => string '' (length=20)
      'CallID' => string '[email protected]' (length=27)
      'Status' => string 'Reachable' (length=9)
      'RoundtripUsec' => string '24317' (length=5)
      'EndpointName' => string '103' (length=3)
      'ID' => string '103;@4XXXXXXXXXXXXXXXXXXXXXXX' (length=37)
      'AuthenticateQualify' => string '0' (length=1)
      'OutboundProxy' => boolean false
      'Path' => boolean false
      'QualifyFrequency' => string '60' (length=2)
      'QualifyTimeout' => string '3.000' (length=5)

I never said it wasn’t.

I monitor from the cli using this script I created. You can see the full version here which includes SIP and PJSIP peers: RTP Monitoring Script

It’s great to leave running all day to watch your environment.

Here it is for strictly PJSIP:


while true
    echo -e "\e[33mCurrent PJSIP Peers / Contacts:\e[39m"
    echo "-----------------------------"
    asterisk -rx 'pjsip show contacts'
    echo ""
    echo -e "\e[33mCurrent PJSIP Statistics / Active Calls:\e[39m"
    echo "----------------------------------------"
    asterisk -rx 'pjsip show channelstats'
    sleep 2

Thanks, thats helpful.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.