HUDのトラブルシューティング

    2024年 5月 4日, 00:54 現在の版

    この版へ

    版の一覧 に戻る。

    現在の版を閲覧

    Reading Material

    HUD Server

    The HUD3 server is a stable actively developed product. The sever has been deployed trouble free on thousands of Fonality PBX's. Typically when there are problems it's due to one of three configuration files being incorrectly written: u3.xml, p3.xml or server.properties.

    These files will be described in this article and you'll be able to identify problems in the files.

     

    Restarting HUD Server

    The HUD server may need to be restarted for serveral reasons. Here are the steps for restart the HUD server.

     

    1. Connect to the Linux command line using SSH access with the root  user. Alternately connect a key board and monitor to the physcial server. Login with the username ip and password ip, then type sh at the selection: prompt.
       
    2. Stop the HUD server using this command:

      # service hud3 stop
       
    3. The FONmon service monitor will automatically restart the HUD server.
       

     

     

     

    File and Directories

    HUD3 server uses several file and directories. Outside of being familiar with the format of a few of the files, simply knowing where the HUD related files are stored is adequate in troubleshooting HUD. In som

    Logs : /var/log/fonality/hud3.0/

    Configuration : /etc/asterisk/fonality/hud3.0/

    Binaries/Libraries : /usr/local/fonality/hud3.0/

    Cache/Chat Logs : /usr/local/fonality/hud3.0/caches/

    Understanding the u3.xml File

    The u3.xml file contains settings for each user in the Web Admin Panel. The settings in this file are used for features in the HUD client. For example, the mobile number tag contains the number that is called when some clicks on the mobile phone icon.

    There are <user></users> blocks for each user and the inHUD options determines whether the user is allowed to login to HUD. The username and password fields are the Web Username and Web Password for the user.

    The settings in purple highlights attributes for the extension and are used for display purpose in the HUD client or as parameters for clickable icons.

    The <extension></extension> is what ties a telephone to extensions. This is how the HUD client knows which extension square to update when someone is on a call.

    <?xml version="1.0" encoding="UTF-8"?>
    <users>
      <user id="122169" inHUD="1" password="12344" username="3025_3000">
        <description>DID Test</description>
        <email>jfeinman@fonality.com</email>
    <firstName>SV</firstName>
        <lastName>P1</lastName>
        <mobile phone="5551234" />

        <extension device="SIP/0005901327FB" inboundPhone="18883105000" number="3000">
          <directory companyDir="1" nameDir="1" />
          <queue inBlastGroup="1" multipleCalls="1" pressToAccept="1" />
          <ring seconds="20" />
          <voicemail attachment="1" box="3000" callOut="1" callReturn="1" email="jfeinman@fonality.com" pager="jfeinman@fonality.com" password="1234" />
        </extension>

      </user>
      <user id="122170" inHUD="0" password="12345" username="3025_3050">
        <extension device="/dev/null" number="3050">
          <directory companyDir="1" nameDir="1" />
          <ring seconds="20" />
          <voicemail box="3050" password="1234" />
        </extension>

        <firstName>SwissVoice</firstName>
        <lastName>Phone 2</lastName>

      </user>
    </users>

     

    Understanding the p3.xml File

    The p3.xml file stores the permissions settings for all of the groups on the Extensions>Groups page. The settings for each group is represented by the group tag. In each group there is a members tag and multiple permissions tags.

     

    group : The group tag contains settings for the group. Notables are autoAdd, for automatically adi

    members : The members tag is a list of the extensions that are a port of the group.

    permissions : There is upto one user  permissions section and or zero or more group permission section in each group block. The permission tags with a  group attributes represent the group permissions while the permission tags without a group attribute represents user permissions.

    id and ids : These attribute contain tokens that represent each permission in HUD. For example, the acd_add_q permission is the User Permission that permit user with the Permission to add queues on the ACD>Add Queue page in the Web User Panel.

    <opt>
      <permissions server_id="3025" version="1.0">
        <group id="60305" name="Test Group" autoAdd="false" department="false" ext="600" hud-default-group="false">
          <members ext="7017,7018,591" server="3025" />
          <permissions id="acd_add_q,pe_xfer_from,pe_record,pe_xfer_to" />
    <permissions group="60305" ids="oe_agent_change_status,oe_barge,oe_record" />
    </group> <group id="60309" name="Test Group 2" autoAdd="false" department="false" ext="601" hud-default-group="false"> <members ext="2201,7773,593" server="3025" /> <permissions id="acd_q_auto_logoff,acd_agent_login_logout,acd_press_to_accept" />
    <permissions group="60305" ids="oe_show_state,oe_barge,oe_filter_ext" />
    <permissions group="60309" ids="oe_show_state,oe_barge,oe_filter_ext" />
    </group> </permissions> </opt>

     

     

    Understanding server.properties

    The server properties contains the URL of the server that HUD client authenticate against. If the PBX has linked servers this file may contain the URL for the linked server which would cause HUD authentication to fail.

    Fh

    The file should contain a single line similar to the line below.

    file: /etc/asterisk/hud3.0/server.properties

    instance.serverId=s3025.pbxtra.fonality.com
    

     

    The serverId should be set the URL of the primary server. Sometime when using a Live Backup Server, the serverId URL will be set the real server ID of the LBS server and users will get authentication failure messages.

     

     

    Verify TCP Processing

    The HUD3 server listens for connections on port tcp/5222. Using the linux tcpdump utilitity we can verify that communication for the HUD client is actually reaching the HUD server.

    tcpdump is used to watch network traffic between two computer. In this case, one computer is the PBX server and the other is a computer running a HUD client.

    1. You must the keyboard and monitor that is physically connected to the PBX.
       
    2. Login using the username 'ip' and the password 'ip'.
       
    3. Drop down to the linux command line by typing 'sh'  and pressing the [Enter] key at the selection prompt.
       
    4. Type the following commmand:

          tcpdump -n 'port 5222 and host <IP ADDRESS OF COMPUTER>'

      Replace <IP ADDRESS OF COMPUTER> with the IP address of the compter that's running the HUD client.

    5. Notice in the out put below that there is traffic from the computer running the HUD client (red) to the HUD server (blue) and vice versa; This verifies there is two way communication between the HUD server and the HUD client.

      [root@pbxtra3025 ~]# tcpdump -n 'port 5222 and host 10.10.11.169'
      tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
      listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
      08:45:04.718796 IP 10.10.11.169.64808 > 10.10.11.154.5222: S 347224655:347224655(0) win 8192 <mss 1460,nop,wscale 2,nop,nop,sackOK>
      08:45:04.718863 IP 10.10.11.154.5222>10.10.11.169.64808: S 2664610518:2664610518(0) ack 347224656 win 5840 <mss 1460,nop,nop,sackOK,nop,wscale 2>
      08:45:04.720989 IP 10.10.11.169.64808 > 10.10.11.154.5222: . ack 1 win 4380

     

     

    Troubleshooting

    High Server Load

    When running HUD on servers with under 512 MB of RAM and lots of activity, the HUD process can elevate the system load to a point where call quality begins to deteriorate. Ultimately the solution to this problem is to install more RAM on the system.

    The temporary work around is it restart the HUD server when this begins to happen. Follow the steps below to restart HUD.

    Click here for steps on restarting the HUD server

    HUD Server is Running But No One Can Connect

     

    There are Multiple HUD Server Processes Running

    If there more the one HUD server processes in the process list, then HUD clients will not be able to connect. To view the list of HUD processes, run the following command at the linux command line.

    'ps aux | grep hudserver | grep -v grep

     

    This sample run shows a single HUD process with process ID 2184:

    [root@pbxtra3025 ~]# ps aux | grep hudserver | grep -v grep
    nobody    2184  0.2  7.4 284656 35840 ?      Sl   May29  12:10 /usr/java/default/bin/java -Xmx128m -Dnetworkaddress.cache.ttl=30 -Dnetworkaddress.cache.negative.ttl=5 -cp hud-server.jar:lib/core-3.1.1.jar:lib/jetty-6.1.10.jar:lib/jetty-util-6.1.10.jar:lib/jsp-2.1.jar:lib/jsp-api-2.1.jar:lib/servlet-api-2.5-6.1.10.jar com.fonality.hudserver.HUDServerStarter daemon

     

    This sample run show two HUD process, process ID 2184 and process ID 3157:

    [root@pbxtra3025 ~]# ps aux | grep hudserver | grep -v grep
    nobody    2184  0.2  7.4 284656 35840 ?      Sl   May29  12:10 /usr/java/default/bin/java -Xmx128m -Dnetworkaddress.cache.ttl=30 -Dnetworkaddress.cache.negative.ttl=5 -cp hud-server.jar:lib/core-3.1.1.jar:lib/jetty-6.1.10.jar:lib/jetty-util-6.1.10.jar:lib/jsp-2.1.jar:lib/jsp-api-2.1.jar:lib/servlet-api-2.5-6.1.10.jar com.fonality.hudserver.HUDServerStarter daemon
    nobody    3157  0.2  7.4 284656 35840 ?      Sl   May29  12:10 /usr/java/default/bin/java -Xmx128m -Dnetworkaddress.cache.ttl=30 -Dnetworkaddress.cache.negative.ttl=5 -cp hud-server.jar:lib/core-3.1.1.jar:lib/jetty-6.1.10.jar:lib/jetty-util-6.1.10.jar:lib/jsp-2.1.jar:lib/jsp-api-2.1.jar:lib/servlet-api-2.5-6.1.10.jar com.fonality.hudserver.HUDServerStarter daemon
    
    

     

    Follow the steps below to resolve this issue.

    1. Stop the running HUD processes by running the following commands:

      # service hud3 stop
       
    2. Make sure that both processes are stopped by running the following command.

      # pkill -f hudserver
      # ps aux | grep hudserver | grep -v grep


      There shouldn't be any output for either command.
       
    3. Restart the FONmon service. The FONmon service is resposible for automatically start the HUD process and making sure that only one HUD process is active.

      # service FONmon restart
       
    4. Wait for about one minute for FONmon to start the HUD process, then check to make sure only one process is running. Then try connecting to HUD again.

      # ps aux | grep hudserver | grep -v grep

      The output of this command should be similar to the first sample run above.

     

    The HUD Server Will Not Start

    The FONmon daemon should start HUD automatically if it's not running. It runs the following command to start HUD and the java process should start within 2 to 10 seconds.

     

    /etc/init.d/hud3 restart

     

    If the process stays in the process list for longer than 10 seconds, then there is some problem starting the HUD server. Run this command to see if the start command is in the process list.

     

    # ps aux | grep hud3

     

    The init.d script runs the following command to try to run the HUD server. Try running these command manually to see if there are any error messages when starting HUD.

     

    # cd /usr/local/fonality/hud3.0/
    # /usr/java/default/bin/java -Xmx128m -Dnetworkaddress.cache.ttl=30 -Dnetworkaddress.cache.negative.ttl=5 -cp hud-server.jar:lib/core-3.1.1.jar:lib/jetty-6.1.10.jar:lib/jetty-util-6.1.10.jar:lib/jsp-2.1.jar:lib/jsp-api-2.1.jar:lib/servlet-api-2.5-6.1.10.jar com.fonality.hudserver.HUDServerStarter daemon
    

     

    If there are errors starting HUD using this manual process above, then their is a problem with this HUD server installation. Re-install the HUD server using the steps below.

    # yum remove jre
    # yum install HUD3-server
    

     

    Certification Focus

    Certification Questions

    1. If your PBX system has an LBS server, what should the server.properties file on the backup server contain?

      a. The URL of the backup server
      b. The URL of the primary server
      c. The URL of the primary and backup server
      d. The global password for the Admin User
       
    2. Which command can be used to verify network traffic between the HUD server and computer A, with the IP address of 192.168.1.83, running a HUD client?

      a. grep -c -h 'HUD Computer A'
      b. curl -nA 'hud://192.168.1.83:5222'
      c. tcpdump -n 'port 5222 and host 192.168.1.83'
      d. nettest -v 'host 192.168.1.81'
       
    3. The following user is having a problem logging into HUD and they're using the correct username and password. The user sitting next to this user is able to login to HUD without a problem. What setting in this configuration block is preventing the user for connecting?

        <user id="122170" inHUD="0" password="12345" username="3025_3050">
          <extension device="/dev/null" number="3050">
            <directory companyDir="1" nameDir="1" />
            <ring seconds="20" />
            <voicemail box="3050" password="1234" />
          </extension>

          <firstName>SwissVoice</firstName>
          <lastName>Phone 2</lastName>

        </user>

      a. The password is too simple.
      b. The firstname is SwissVoice and it forbiddin.
      c. The nameDir is set to 1 and users can't be in the name directory and HUD at the same time.
      d. The inHUD should be set to 1.
       
    4. What string can you grep for in the process list to view the HUD server process?

      a. java
      b. hudservice
      c. hudStarter
      d. running
       
    5. Which process is responsible for starting the HUD3 server when it is not running?

      a. HUDmonitor
      b. SysMon
      c. FONmon
      d. HUDpeek
       
    6. Which file contains the Group Permissions for the HUD3 server?

      a. permission3.xml
      b. p3.xml
      c. u3p3.xml
      d. perm.xml
       
    7. What port does the HUD3 server listen on?

      a. UDP/5222
      b. TCP/5222
      c. TCP/5060
      d. TCP/6600
       
    8. Based on the permission settings below, which users do extension have permission over (choose all that apply) ?

      <opt>
        <permissions server_id="3025" version="1.0">
          <group id="60305" name="Test Group" autoAdd="false" department="false" ext="600" hud-default-group="false">
            <members ext="7017,7018,591" server="3025" />
            <permissions id="acd_add_q,pe_xfer_from,pe_record,pe_xfer_to" />
      <permissions group="60305" ids="oe_agent_change_status,oe_barge,oe_record" />
      </group> <group id="60309" name="Test Group 2" autoAdd="false" department="false" ext="601" hud-default-group="false"> <members ext="2201,7773,593" server="3025" /> <permissions id="acd_q_auto_logoff,acd_agent_login_logout,acd_press_to_accept" />
      <permissions group="60305" ids="oe_show_state,oe_barge,oe_filter_ext" />
      <permissions group="60309" ids="oe_show_state,oe_barge,oe_filter_ext" />
      </group> </permissions> </opt>

      a. 7017
      b. 7018
      c. 5917
      d. 2201
      e. 7773
      f. 593
      g. 1000
       
    9. What command is used to install the HUD3 server?

      a. apt-get install HUD3
      b. yum install HUD3-server
      c. package install HUDcore
      d. yum install jre
    Powered by MindTouch Core