10020.The GNU Gatekeeper User Manual

xiaoxiao2021-03-06  72

Http://www.zhlin.com/zhlin/?play=show&id=10the gnu gatekeeper usage manual

Author:

xiaoyangzi

category:

UNIX class

Release date:

2004-04-08 16:59:28

Total browsing:

19

This is the Chinese version of the OpenH323 GateKeeper - The GNU Gatekeeper. Explain how to compile, install, set with OpenH323 Gatekeeper - The GNU Gatekeeper. 1. Introduction 1.1 About this PlanH323 Gatekeeper - The GNU Gatekeeper is a free software (or open original code) program, with a purpose on a H.323 Gatekeeper. H.323 Gatekeeper provides a call control service for H.323 endpoint (Endpoint), which is part of the H.323 standard. According to the standard of the H.323 specification, GateKeeper should provide the following services: Address Conversion Call Permission Control Circuit Width Control Region Management Signal Control Calcipation Credit Circuit Width Management Call Management GNU GateKeeper Based on the OpenH323 Reality Most of the functions. The H.323 specification is an international standard published by ITU, which is made as a communication standard for voice, imaging and information on internet. Detailed explanation Paul Jones' Primer on H.323. About the Detailed Description of the GateKeeper function, it can be seen here. Copyright GNU Gatekeeper 1.2 is a free software program, subject to the GNU General Public License (GNU GPL) protected and norms. In addition, we specially allow the execution file to connect to the OpenH323 and OpenSSL's library. Simply put, GNU General Public License allows you to freely copy, spread, sell or modify this software. However, all derivatives that require all derivatives must also be released in accordance with GNU universal public licenses. This means that you have to open all the program you modify this software, and any program you add this software (if any). See Copying This file is invited. Chinese translation of GNU universal public licenses can be obtained at CLDP. About free software concept or ideals, refer to the instructions for the Software Free Foundation website. If you don't want to do this, you must communicate with GateKeeper in the way through the state interface. With this way you can add the most basic function to the GateKeeper without publicizing other parts of your program. 1.3 Name of the formal name of this program is OpenH323 Gatekeeper - The GNU GateKeeper, referred to as OpenH323GK or GNUGK. Please don't mix this plan with other similar plans! There are several Gatekeeper plans for opening the original code using OpenH323: OpenGateKeeper - by Egoboo A fully functional Gatekeeper program, released by MPL. However, this program has not progressed for a while. Another H.323 Proxy based on OpenGateKeeper is called OpenH323Proxy. OpenGK - by Equivalence function is also very spring, and is also released by MPL. OpenH323 Gatekeeper - This plan. These Gatekeeper's plans use very similar names that have been plagued most of them. However, our "OpenH323 Gatekeeper" is the earliest start, so choosing such a similar name is not our fault. However, in order for people to make more clear differences with other plans, we decided to add the subtitles of "The GNU Gatekeeper" and use GNUGK as the name of the execution. So remember that when you return the issue or suggestion to us, please use the correct name: OpenH323GK or GNUGK.

Don't say that it is OpenGateKeeper or OpenGK! 1.4 Features 2.0.3 mainly revised some errors, and add a little new function: transfer directly to the specified endpoint when receiving the Q.931 Facility CallForwarded. Manually specify some endpoints after NAT. Join a simple interrelation distribution mechanism. If you can send it to a virtual column, then determine the route via the external program. 2.0.2 New main features include: joining the Citron Nat Technology developed by Shiqi Network Information, which supports the two-way calls crossing NAT without modifying the NAT server. Support multidisters simultaneously call. Allow GateKeeper to register the endpoint of the public IP after it is placed in NAT. The newly expanded fd_set structure can support thousands of calls in routing mode, not subject to PWLIB. Plus TOS Flag in the RTP / RTCP package to support QoS. You can log in to the status interface in the name and password. In addition, there is of course also included the following existing features: redesigned registration and call management forms, safely manages the registration of 10,000 endpoints in more execution, can manage tens of thousands of endpoints phone. The new routing signal pattern architecture, supports the H.225.0 / Q.931 and H.245 signals without having to generate more execution. Therefore, the upper limit of the permeation does not affect the total number of words. Support H.323 Proxy mode to transfer RTP / RTCP media channels and T.120 data channels. The channels that open with the H.245 tunnelling mode and the fast-connection mode are supported. All information in Proxy mode is transferred via GateKeeper, there is no direct traffic between endpoints, so it is very suitable for use in NAT. The GateKeeper cluster can be supported by exchanging LRQ / LCF / LRJ, allowing calls to cross the area (ZONE). If the destination of LRQ is not known, GateKeeper can also transfer it to the next Gatekeeper. Supports a variety of certification mechanisms, including H.235 passwords (MD5 or SHA-1 encryption), IP style or preamble matching. Support as a backend certification database with mysql or LDAP. Supports the Alternate GateKeepers mechanism to reach a backup or load balance. If the GateKeeper burden is over, the endpoint will be redidized to other Gatekeepers. You can register to the upper layerKeeper into one end point (saver). The class bending architecture of GateKeeper can be easily established in this way. The transmitted state interface can be monitored and controlled to Gatekeeper, including all registration and call statistics. Call Details (CDR) can be output from the status interface, and the rear end billing system can be used. Most of the settings can be changed during execution. By the status interface `Reload 'instruction, or send the HUP signal to the itinerary (only available to the UNIX platform), GateKeeper re-reads the setting file. 1.5 Downloading the latest stability and development versions can be obtained from this download page. If you want to use CVS, you can get from the SourceForge (Web-GUI) download page. Please note that it is the latest version, which is likely to be unstable. You can also download the pre-compiled performance file from SourceForge, but only some of the platforms are available. 1.6 Communication Forum This plan has two communication sites, one is for developers, and the other is for general users. General use, please write to Users mailing list. You can find all email collections here. To join this Communication Forum, please click here.

To reward questions, or provide error correction, please write to developers mailing list. Click here to find all mail collection. Please note that general use issues should not be sent here, and the user's forum is sent. This forum is used by developers. Of course, if you want to contribute to this plan, please join this forum. Note: Please do not send your questions to individual developers with private letters. We are usually very busy. We are not your private consultant unless you are willing to pay us. Send your question to an open and appropriate communication forum, let more people have the opportunity to help you. Please also Be careful not to send the Gnugk exclusive issue to the OpenH323 communication forum, or the opposite. Otherwise no one will make you. This is two different plans, although the relationship is close. The two planned developers are also different, although they often cooperate with each other in some way. Before you ask questions, please make sure you have read the relevant documents carefully. Describe your questions and accurately describe your problem. If there is any error message or record file, please attach it. If you don't know how to raise questions in a public forum, please read Eric S. Raymond's famous article How to ask questions the smart Way (here there is a slightly medium translation). 1.7 Contributors At present, the host of this program is Jan Willamowius . The main function and characteristics of version 2.0 are in Taiwan's Huang Zhiwei and Zhihua Information network, including redesign to suit the registration and call management form that is still safely in parallel in multi-execution. , New routing mode, H.323 proxy (Proxy), H.235 authentication module, and MySQL backend connections. MEDIAWAYS in Germany is incorporated to join the LDAP data library subsystem, overlapped sending, and advanced routing mechanisms. This program was originally developed by Xiang Ping Chen, Joe Metzger And Rajat Todi. Translation note: This manual is to write to English and translate into Chinese. Special thanks to Zhang Chong Yan and Wu Hengsheng Assistance Translation. 2. Compilation and installation 2.1 Compile Gatekeeper To compile GateKeeper, you need PWLIB 1.2 and OpenH323 version or more. The Gatekeeper version in development usually needs to match the latest version of OpenH323. The related library can be obtained from the OpenH323 download web page. Please refer to the instructions herein by compiling the OpenH323. The order of compilation: PWLIB (Release version debug version) openh323 openh323 test application (not necessarily, just to determine everything until now.) Gatekeeper Under UNIX job system, move to the Gatekeeper directory. Perform make Debug to compile the Debug version, or execute Make Opt to compile the Release version. Performing Make Both can be compiled with both versions. Note: You must use GCC version 2.95.2 or more, the old version of GCC may not be able to compile normally. Under the Windows Job System, you need to turn on Microsoft Visual C 6.0 or 7.0 (Visual C 5.0 too old) to compile the supplied Project (GK.DSW). GNUGK support from version 2.0 is made as a backend database in MySQL and LDAP.

If you don't need these support, you can add parameters before Make: $ NO_MYSQL = 1 Make Both To cancel LDAP support: $ no_ldap = 1 Make Both or cancellation: $ no_mysql = 1 no_ldap = 1 make Both 2.0.1 GNUGK is a new FD_set structure so that GNUGK can support thousands of calls in routing mode. To use this feature, you can add the LARGE_FDSET parameters when compiling, specify the maximum number of files to open. For example: $ large_fdset = 16384 Make Opt 2.2 Installing Gatekeeper Installing Gatekeeper does not require a special installation step, simply copy the compiled executable to the directory you want to store, and then add a setting file. The sample file is set to the ETC / subdirectory of the original program code. Please refer to the setting file section and have more detailed description. Example: Under the Linux X86 platform, the optimized execution file GNUGK will generate in the OBJ_LINUX_X86_R / subdirectory. You can copy it to the / usr / sbin / directory, then add the setting file /etc/gnugk.ini. Finally, enter the following instructions to start the GateKeeper: $ / usr / sbin / gnugk -c /etc/gnugk.ini -o /var/log/gnugk.log -tt, please refer to the command parameter section, there is a more detailed description. 2.3 Pre-compiled Operation Documents If you don't want to download the original program code to compile it, there are some suits that have been compiled in the SourceForge. But not all versions have pre-compiled executive files, please see clearly before downloading. Red Hat Packages, first download RPMS, then enter the following instructions, enter the following instructions to install GateKeeper: $ rpm -uvh gnugk-xxxrpm (the name of the file you download) Debian packages if you are Using the Stable (Woody) version of Debian, enter the following instructions to install the following instructions to install GateKeeper: $ APT-GET Install OpenH323GK 3. Getting Started 1931 The first simple test Select two Linux workstations connected to the area network Inside the OpenH323 version 1.1 or more and Ohphone. On the first machine, two main control stations are opened, and GateKeeper and Ohphone are performed separately. Jan @ machine1> gnugk -tt on a line instruction indicates that Gatekeeper is now executed in direct signal mode. The -ttt parameter indicates that GateKeeper displays the error message in the main control station. You can also use "-o logfile" to save the extent wrong to a file. For a description of the signal mode, see the description of the next section. Jan @ machine1> ohphone -l -a -u jan On a row of instructions: Ohphone is now waiting for incoming call (-L), and will automatically answer the call (-a). In addition, OhPhone automatically detects GateKeeper and registers the Gatekeeper with the JAN this user name. (Under some reasons, if the Ohphone cannot detect GateKeeper, you can use "-g 1.2.3.4" to specify an IP location that runs the GateKeeper's machine.) Simply perform Ohphone on the second machine.

Peter @ machine2> Ohphone -u Peter Jan Last line instructions indicate: The Ohphone on the second machine will be registered to the successful detected GateKeeper at Peter, and try to call the user Jan. Gatekeeper will convert the user name Jan into the IP position of the machine where JAN is located (in this case, the first machine). In this way, the Ohphone on the second machine knows that it should be called to first machine to find JAN. When there is an incoming call, the Ohphone on the first machine will be turned on automatically, and finally Peter and Jan will start chatting. 3.2 Use the status interface to monitor Gatekeeper now we tried to see what information has been processed by GateKeeper. Open a new main control at the first machine, then use Telnet to Gatekeeper. Jan @ machine1> Telnet Machine1 7000 At this point, you may also be able to receive "Access Forbidden!". This is because not all people can arbitrarily monitor Gatekeeper. Now we add a file called Gatekeeper.ini and put it in the directory we launched the GateKeeper. The content of Gatekeeper.ini includes the following four lines: [Gatekeeper :: Main] fourtytwo = 42 [gkstatus :: auth] rule = allow Please use Ctrl-c to stop GateKeeper, and then restart a Gatekeeper. When we perform Telnet Machine1 7000 again, you can keep the connection with the Gatekeeper. Now repeat the test of Peter to Jan, see which messages have been processed in direct signal mode in direct signal mode. In Telnet Session, there are many instructions that can be executed. You can type "Help" to list the available instructions. If you want to end the Telnet Session with Gatekeeper, type "quit" first, press Enter. 3.3 Starting the GateKeeper launching GateKeeper in routing signal mode, it means that GateKeeper will require all call signals to transfer. Since all signals pass GateKeeper, you can make GateKeeper have greater control for call behavior. Jan @ machine1> GNUGK -R The upper line instruction represents the route mode to perform GateKeeper. Once again telnet to 7000, let a call to see what information will now process now. Note: All packets related to multimedia (including sounds and images) are still directly transferred between two endpoints (that is, the two ohphones in the trial). Note: Because the Gatekeeper routing mode is more complicated, you are likely to encounter an error on the GateKeeper program in this mode. However, it doesn't matter, then do it again. ;-) 3.4 Virtual Switch: Interrupt Call to now, the functionality shown in Gatekeeper is only converted to the IP location. Although this is an important function, it is not enough to be surprised. In fact, GateKeeper can control a variety of controls, for example: interrupt calls. When you connect to the status interface of GateKeeper, type "PrintCurrentCalls" to list all in progress.

If you want to terminate a call between two endpoints, you can select one of the IP locations, then type disconnectip xxx.xxx.xxx.xxx to interrupt this call. You can also write a simple program, connect to the status interface of Gatekeeper to monitor all in progress. Or limiting the longest talk time for five minutes to avoid someone to abuse system resources. GateKeeper can also make the ability to call transfers and calla forwarding. However, there is no practical yet. 3.5 Transferring calls to the general phone If there is no H.323 latch (Gateway), the user can only dial the user who has a network phone on another Internet. If you want to dial the user of the traditional phone, you must use a gateway. _________________ ______________ | endpoint "jan" | | | | 192.168.88.35 | ---------> | Gatekeeper | | _______________ | | | _________________ | | | gateway "gw1" | outgoing | | | 192.168.88.37 | <--------- | ___________________________________________________ dial. You can modify the [RASSRV :: GWPREFIXES] section of the Gatekeeper setting file to specifically, telling Gatekeeper, when the first few numbers of the dialed number meet the set conditions, it should be transferred to the servant. [Rassrv :: gwprefixes] GW1 = 0 The setting indicates GATEKEEPER, if the dialing E.164 number is 0, the phone is transferred to the "GW1" H.323 Alias ​​to sign up to GATEEPER. The groovedder and then bonded to the destination. At this time, if there is no vertical to sign up to GATEEPER with "GW1" H.323 Alias, the phone cannot be turned on (Note: When setting, you must use Gateway Alias, you can't use the gateway's IP location set up). 3.6 Remove the E.164 Number If you use the servo, you usually use different numbers inside the gateway. When you receive the dialed number, Gatekeper can turn the number first, and then transfer the rewritten number to the gateway, enter the telephone network dial out. You can use the rassrv :: RewriteE164 this section to rewrite the number. In the following example, you can use the Internet phone to call a favorite number 12345, in fact, but the actual number is 08765. [Rassrv :: gwprefixes] GW1 = 0 [rassrv :: ruWritee164] 12345 = 08765 4. Reference Manual Gatekeeper behavior is entirely dependent on the command column option and its setting file. Some command column options may overwrite the settings in the setting file. For example: -l option will overwrite the TimeTolive settings in the setting file. 4.1 Commands Almost every option has a short format and a long format, for example: -c and --config are the same meaning. Basic Options - H --Help Displays all available options. -c --config filename Specifies the setting file to be used.

-S --SECTION section specifies that the section you want to use as the main chapter. Preset is [Gatekeeper :: Main]. -i - Interface IP Specifies the interface (IP) of GateKeeper listening. You can omit this option to automatically select the listening IP unless you want the GateKeeper to listen to a specific IP. -l --TimeTolive N Specifies the time after the endpoint is registered, the unit is second. This option will overwrite the TimeTolive settings in the setting file. For more detailed description, please refer to the next section. -b --bandwidth n Specifies the total frequency width available for GateKeeper. If this option is not specified, the bandwidth management function is preset will be closed. --PID filename Specifies the PID file, only UNIX version is valid. Signal Mode The options listed here will overwrite the settings of the [ROUTEDMODE] section in the setting file. -d - Direct uses direct signal mode. -r - ROUTED uses routing signal mode. -rr --h245routed uses routing signal mode and starts H.245 routing mode. Instrument - O --Output FileName Write the error message to the specified file. -t --Trace adds more -T, the more detailed details will be more detailed. For example: use -tttt to set the defect grade to 5. 4.2 Setting the setting file for this file is a standard text file. The basic format is: [section String] key value = set string one row starting if a well number (#) or semicolon (;) representative is an annotation. The Complete.ini under the ETC / subdirectory contains all chapters and options. Generally, you don't need to use all, it is meaningless. Select the sections you need. There are also many useful examples available in this directory for reference, you can modify it as appropriate. You can also change the setting file to change the behavior of GateKeeper when executed. When you modify it, remember to send the RELOAD instruction from the status interface, or you can send HUP to GateKeeper on UNIX. Such as: kill -hup `cat / var / run / gnugk.pid` Note: Some people pointed out that some section names in Gnugk 2.0 are [rassrv :: *], and some are [rassvr :: *]. This inconsistent name makes people confused. All names in version 2.0.1 have been fixed to [rassrv :: *]. If you are upgraded from 2.0 or previous version, remember to change the name, otherwise the program will refuse to start. Section [Gatekeeper :: Main] FourtyTWO = 42 Preset value: None This setting is just to test whether the setting file is present. If you can't find it, a warning message will appear. Please make sure your setting file contains this line. Name = OpenH323GK preset value: OpenH323GK Specifies the recognition string of Gatekeeper. This GateKeeper will only respond to GRQs that contain this identification string, and this string is also included in the message responding to the endpoint. HOME = 192.168.1.1 Preset: 0.0.0.0 Specify this Gatekeeper Listen IP address. That is, GateKeeper will only accept a connection request sent to this IP address. If it is specified as 0.0.0.0, it is acceptable to all IPs. Generally speaking, you don't need to specify this option unless you want Gatekeeper only tied to an IP you specified. NetworkInterfaces = 192.168.1.1 / 24, 10.0.0.1 / 0 Preset value: None manually specifies the network interface of GateKeeper. Generally, Gatekeeper automatically detects all network interfaces. This parameter can only be used in both cases.

First, when the automatic detection result is incorrect, the second is to place the GateKeeper after the NAT server and let the PUBLIC IP endpoint to register. In this case, the network interface is set to the NAT server, as if GateKeeper is executed on the NAT server. Endpointidsuffix = _GK1 Preset value: _endp Gatekeeper specifies a unique identification string for each registered endpoint. This option can be used to specify the character to be attached to the identification string. If you have a few Gatekeeper this option is particularly useful. TimeTolive = 300 Preset value: -1 H.323 Endpoint registration to GateKeeper is sometimes effectively. Gatekeeper can specify a registered time in the RCF's TimeTolive field. After the specified time, the registration is invalid. The endpoint must be registered registered regularly, and set the Keepalive field in the RRQ. This update registration message is called LightWeight RRQ, and only the minimum information specified in H.225.0 is required. This option is used to specify the time of registration, and the unit is the number of seconds. However, the endpoint can specify a shorter time than this in the TimeEtolive field in RRQ. However, in order to avoid a large number of RRQ registration messages, if you specify a shorter time than 60 seconds, GateKeeper will automatically adjust to 60 seconds. Once the registration of a certain end point is over, GateKeeper will send two IRQ messages, ask if this endpoint is still alive. If this endpoint responds to IRR, GateKeeper will actively extend the registration of the course of registration. Otherwise, GateKeeper will send URQ to notify this endpoint offline, the reason is TTLEXPIRED. At this time, the endpoint must be re-registered with a complete RRQ message. If you specify this option as -1, you can close the check of registration aging. TOTALBANDWIDTH = 100000 preset value: -1 All available bandwidth, units of 100 bits / s. RedirectGK = EndPoints> 100 || Calls> 50 Preset: None This option is re-directed to other GateKeeper when this Gatekeeper burden is used. For example, the above setting indicates that if the number of endpoints registered reaches 100, more RRQ will be rejected, or when the number of calls at the same time reaches 50, more ARQ will also be rejected. In addition, you can also set this option to Temporary or Permanent to actively rendering all endpoints to other GateKeeper. This Gatekeeper is rejected in response to the GateKeeper list that defines in AlternateGks, and endpoints can be serviced to other Gatekeeper requirements according to priority. Note that if you set it to Permanent, your endpoint will not be returned, no longer registering the original Gatekeeper. Also note that this feature is only valid for the endpoints of support H.323 Version 4. Alternategks = 1.2.3.4: 1719: False: 120: OpenH323GK Preset: No This option allows you to specify other GateKeeper as standup. That is, some endpoints can be registered to the first GateKeeper, while the rest of the endpoints go to the second GateKeeper. You can even make two GateKeeper temperates to reach the purpose of load balancing. However, this feature has not been completely tested, please be careful.

We represent this Gatekeeper you are setting with "Primary GK", and "Alternate GK" indicates the remainserkeeper for the rest. Primary GK will contain a column in the RCF, telling the endpoint to have those extra GateKeeper can be used. But because Alternate GK needs to know all registration information at Primary GK, otherwise it will refuse the call. Therefore, Primary GK must transfer all RRQ to Alternate GK. This option is used to specify the list of Alternate GKs, sequentially in a semicolon area, and in each item. The first and second small items specify the IP and PORT of the Alternate GK, and the third small specified endpoint is to register in just before using the Alternate GK call. Because Primary GK will transfer RRQ, there is usually no need to register again. The fourth small item specifies priority, and the more small indicates that the priority is higher. Usually the priority of Primary GK is 1. The last item specifies the recognition string of Alternate GK. Sendto = 1.2.3.4: 1719 Preset: None specified IP bit coatings and ports to transfer RRQ. It doesn't need to be the same as AlternateGks, so set to stand-alone options. SkipForwards = 1.2.3.4: 5.6.7.8 Preset: None to avoid loop transfer, you can't transfer the received transfer message (regardless of Primary or Alternate GK). We use two mechanisms to distinguish whether it is a transfer message, the first is to view the message containing a particular field, and then see if the message is sent from the IP specified from this option. STATUSPORT = 7000 Preset: 7000 Specifies the number of portions that are used to monitor the status interface of the Gatekeeper. See the details section. Most users do not need to change the following settings. These are mainly used as testing or very special cases. UsebroadcastListener = 0 Preset value: 1 Define whether to accept the broadcast RAS request. If you want to perform different GateKeeper strokes in different interfaces of the same machine, you can close this option. Unicastrasport = 1719 preset value: 1719 Gatekeeper's RAS 埠 number. Multicastport = 1718 Preset: 1718 Gatekeeper's RAS group. MulticastGroup = 224.0.1.41 Preset: 224.0.1.41 GateKeeper's RAS group channel location. EndpointSignalPort = 1720 Preset value: 1720 Endpoint preset signal channel. ListenQuelength = 1024 preset value: 1024 TCP accepts the length of the connection. SignalReadTimeout = 1000 Preset value: 1000 Status Interface Channel East time, unit is in milliseconds. STATUSREADTIMEOUT = 3000 Preset: 3000 Signal Channel (Q.931) Over time, unit is millisecond. Section [ROUTEDMODE] When the endpoint issues a call request, there are two ways to transmit the call signal transmission. The first type is called direct signal mode, and the signal is directly sent to the endpoint of the tested. The second type is called routing signal mode, and the signal in this mode is transferred via GateKeeper to the endpoint. What signal mode is used is determined by GateKeeper. In routing signal mode, GateKeeper can also choose whether to transfer the H.245 control channel, as well as the logical channel of voice, image or data.

Therefore, the following mode is derived: the case is not transferred. That is, H.245 channels and logical channels are directly established by two endpoints. The situation is transferred to the H.245 control channel, but the logical channel is still directly established by two endpoints. This is called H.245 routing mode. The three cases are transferred by GateKeeper, including voice, Imaging RTP / RTCP information, and data channels for T.120. In this case, there is no direct traffic between the two endpoints, and thus, it is also known as the H.323 agent (Proxy), which can be considered a gateway of H.323 to H.323. This section defines some options related to the signal routing mode, including the situation and two. The options three of the case are defined in the next section. All settings in this section can be adjusted through the RELOAD instructions during the execution period. Gkrouted = 1 Preset value: 0 Whether the routing signal mode is started. H245ROUTED = 1 Preset value: 0 Whether the H.245 routing mode is started. Of course, it is only valid when gkrouted = 1 is. CallSignalPort = 0 Preset value: 1721 The number of call signals used, the preset is 1721. We do not use the 1720 specified in H.323, so you can perform GateKeeper and H.323 endpoints simultaneously on the same machine. If set to 0, you will optionally be available. CallSignalHandlerNumber = 2 Preset value: 1 Specify the number of signal processors. If your GateKeeper burden is heavy, you can try to increase this number to improve efficiency. Takes that this number can only be increased after the admission is not reduced. If you don't know how much it is, set it to your machine's CPU (i.e., the two CPU machine is set to 2). Acceptneighborscalls = 1 Preset value: 1 Open this option, GateKeeper accepts the area from neighboring Gatekeeper or the upper GateKeeper, the topic is the DestinationAddress field in Setup meets a registered endpoint. In addition, GateKeeper will use its own signal location to respond to LRQ LCF. This means that the signal is transferred via the second GKEEPER in the GK-GK. Therefore, the second GateKeeper can correct the call time in the CDR. AcceptunRegisteredCalls = 1 Preset value: 0 When this option is opened, GateKeeper will accept any unregistered endpoint calls. However, this will cause security concerns. Unless your network is trustworthy, don't open this option easily. Removeh245addressontunneling = 1 Preset value: 0 Some endpoints will include H245Address in the UUIE field of Q.931, and set the H245Tunneling flag. Although this is legal, it will lead to interoperability in some bad practices. If you open this option, Gatekeeper will remove the H245Address field when the H245Tunneling flag is set. It will therefore forced the other end to stay in Tunnelling mode, and avoid interoperability. This option is recommended to open. RemoveCallondRQ = 0 Preset value: 1 When this option is closed, GateKeeper does not remove the record of the call while receiving the DRQ, but will only be removed when Release Complete is received. This avoids some possible racing conditions (RACE CONDition). Of course this option is only meaningful in routing mode, because in direct mode, GateKeeper will only receive DRQ.

DROPCALLSBYRELESECOMPLETE = 1 Preset value: 0 According to the H.323 specification, GateKeeper can cut off a call by sending a message notification endpoint for Ras DisngageRequest (DRQ). However, some poor endpoints ignore this message. If you open this option, GateKeeper will change the Q.931 Release Complete to force the cut call. If you find that you can't force the call from GateKeeper, you can try to open this option. SendreleaseCompleteOndRQ = 1 Preset value: 0 At the end of the call, the endpoint will send Release Complete through the Q.931, and send DRQ through RAS. It is possible that DRQ is first received first, causing GateKeeper to turn off the signal channel, which makes Release Complete cannot be sent to another endpoint. Some endpoints (such as Cisco CallManager do not automatically turn off the call even when the signal channel is turned off, resulting in a problem, such as a false message end, and the tentative end continues to be loud. Turn this option to make GateKeeper actively send the Release Complete before receiving DRQ and shutting down the signal channel. SupportnateDendPoints = 1 Preset: 0 Whether the endpoint is allowed to register from the back of the NAT server. If you open, GateKeeper converts the IP address in the Q.931 and H.245 channels to the IP address of the NAT server. GNUGK 2.0.2 Support for NAT has been greatly improved. You don't have to modify or adjust the NAT server, just register the endpoint to Gatekeeper, you can call out. ScreenDisplayie = MyID Preset value: No change in the DISPLAYIE in Q.931 is the specified value. ScreenCallingPartynumberie = 0965123456 Preset: No changePartynumberie in Q.931 is the specified value. ForwardonFacility = 1 Preset value: 1 If this option is opened, when receiving the reason for the Q.931 Facility message for CallForwarded, Gatekeeper will transfer the setup signal to the transferred endpoint, not the message back to Call end. Since some actual incomplete endpoints are unable to process Q.931 Facility CallForwarded, open this option to resolve this issue. ShowForwarderNumber = 0 Preset value: 0 Whether the number will change to the number of the adapter. Usually for the purpose of billing. There is only meaningful in forwardonfacility = 1. Q931portRange = 20000-20999 Preset: 0 (arbitrary) Specifies the TCP ranks used by the Q.931 signal channel. Note This range will limit the number of simultaneous calls. H245portRange = 30000-30999 Preset: 0 (arbitrary) Specifies the TCP ranks used by the H.245 control channel. Note This range will limit the number of simultaneous calls. Section [Proxy] This section defines some of the features of GateKeeper as H.323 Proxy. In Proxy mode, GateKeeper will transfer all data from the message end to the end of the party, so there is no direct communication between the two endpoints. If you have some endpoints that use private IP after the NAT server, and some endpoints use public IPs outside the NAT, the Proxy mode will be very useful to you.

GNU GateKeeper supports the transfer of RTP / RTCP channels that transmits sounds and images, as well as the T.120 channel of the transfer information. Regardless of the fast-connect program or the logical channel on the H.245 Tunnelling mode is enabled. Note that allows the Proxy mode to operate smoothly, Gatekeeper's network on both sides of the hairstyle must have a direct connection. Enable = 1 Preset value: 0 Do you open the Proxy mode. Of course, you must first use the routing signal mode described in the previous section. You don't have to specify how to use H.245, GateKeeper will automatically use it if necessary. InterNalNetwork = 10.0.1.0 / 24 Preset: No internal network segment is defined. You can specify multiple network segments to segment in a semicolon or comma. Only one of the internal network segments defined herein is located here, while the other is outside the internal network, the Proxy mode is turned on. If not specified, all of the calls use the Proxy mode. Format: InternalNetwork = Network Address / NetMask [, Network Address / NetMask, ...] where NetMask is available. Section or CIDR representation, as shown in the following example: InternalNetwork = 10.0.0.0 / 255.0.0, 192.168. 0.0 / 24 T120portRange = 40000-40999 Preset: 0 Specifies the TCP Run number of T.120 channels. Note This range will limit the number of simultaneous calls. RTPportRange = 50000-59999 Preset: 10000-59999 Specifies the UDP ranks of the RTP / RTCP channel. Note This range will limit the number of simultaneous calls. ProxyFornat = 1 Preset value: 1 If one of the end points of the call is after NAT, use the Proxy mode. In this case, using the Proxy mode will ensure that the RTP / RTCP channel can pass through NAT without modifying. However, endpoints after NAT must use the same port to transmit and receive RTP / RTCP. Some of the actual endpoints do not meet this premise, then you can only close this feature and let Nat transfer RTP / RTCP for you. Proxyforsamenat = 0 Preset value: 1 If the two endpoints of the call are located in the same NAT, use the Proxy mode. Generally speaking, you don't need to turn on this feature, because the endpoints that are usually on the same NAT can communicate directly. Section [GKSTATUS :: Auth] Defines access rights of the status interface. Rule = allow preset value: The FORBID usable value has Forbid - no connection is allowed. Allow - Allow any connection. Explicit - Explicitly specifies those IPs to connect through IP = Value, those who don't work. Where IP is to monitor the IP of the end, and Value can be 1,0, allow, forbid or Yes, NO. If you can't find the corresponding IP, use the default. Regex - The IP of the listener must meet the formal representation specified here. Example: If you want to allow the IP of 195.71.129.0/24 and 195.71.131.0/24 network segments to connect, regex = ^ 195 / .71 /. (129 | 131) /. [0-9] $ Password - The user must log in with a proper name and password. The format of the name and password is the same as the [Password] section. In addition, these rules can also be combined with "|" (or) and "&".

For example: rule = evlicit | Regex client IP must comply with the rules of Explicit or Regex. Rule = Regex & Password client IP must meet the Rule of Regex and log in with a name and password. DEFAULT = Allow preset value: Forbid is used only when Rule = Explicit is used. Section [RASSRV :: GWPREFIXES] This section specifies those E.164 numbers to be transferred to the specified gateway. Format: gw-alias = prefix [, prefix, ...] means transfer all the numbers starting with the previous code before this to transfer to a saver that owns this Alias, please note that you must use a grooved device Alias ​​is specified and is not available for IP. Example: Test-GW = 02,03 Section [rassrv :: RewriteE164] This section defines the rewrite rules for DiAledDigits (E.164). Format: [!] Original-prefix = target-prefix, ...] If the number dial is started with original-prefix, it will be rewritten as Target-Prefix. You can specify a variety of rewritable methods, and GateKeeper will optionally. If you add `'before Original-Prefix!', The meaning is just the opposite. Example: 08 = 18888 If 08345718 will be rewritten as 18888345718. Option: fastmatch = 08 Preset value: None only to change the number of this start. Section [rassrv :: permanentend "] This section you can put in the endpoint that does not support RAS or puts the endpoint you don't want to expire. The endpoint records specified here will remain in the registration form of GateKeeper. However, you can still be handled by the status interface. Format: IP [: port] = alias [, alias, ...; prefix, prefix, ...] example: Vehicle: 10.0.1.5 = citron; 009,008 Terminal: 10.0.1.10:1720=700 section [ Rassrv :: neighbors] If the destination in ARQ does not exist in the area managed by this Gatekeeper, GateKeeper will try to send localkeest (LRQ) to neighboring Gatekeeper asking, these neighboring Gatekeeper calls this GateKeeper's neighbors. GateKeeper will ask those NEIGHBORS depending on whether the number is in line with the neighbor's preamble. If the quad size is `` * '', it is in line with it. A neighbor can only specify a preamble. On the other hand, GateKeeper will only respond to the LRQ sent from the NEighbors defined in this section. You can specify an empty preamline. In this case, GateKeeper does not send LRQ to that neighbor, but accept the LRQ sent from NEIGHBOR. The Password field is used to authenticate whether LRQ is sent from Neighbors. See [Gatekeeper :: Auth] detailed description.

Format: gkid = ip [: port; prefix; password; dynamic] Example: gk1 = 192.168.0.5; * GK2 = 10.0.1.1: 1719; 035; GK2 GK3 = gk.citron.com.tw ;; gk3; 1 section [Rassrv :: lrqfeatures] Define some of the features of LRQ and LCF. Neighbortimeout = 1 Preset: 2 Waiting for the timeout time of Neighbors responding, in seconds. If the time still waits for a response, GateKeeper will respond to the endpoint of the ARJ give the original request. ForwardHopCount = 2 Preset: No if the LRQ destination received by Gatekeeper is not in this area, it can be transferred to other Neighbors. Before transferring, Gatekeeper will reduce HopCount in LRQ. If HopCount has reached 0, it will not be transferred again. So, it will not cause LRQ to be transferred without restriction. This option defines the number of transfer times of LRQ. Note that it affects the transmitting end of the LRQ instead of the transfer end. AlwaysForwardlrq = 1 Default: 0 Forced Gatekeeper to transfer LRQ, even if the LRQ does not contain hopcount fields. Be careful when using this option, otherwise it may be guided to the LRQ loop back ring. AcceptForwardedLRQ = 1 Preset value: 1 Do you accept LRQ from NeighBors. INCLUDEDESTINATIONINFOINLCF = 0 Preset: 1 Gatekeeper will include the DestinationInfo and DestinationType fields in the LCF responded, so that neighbor gatekeeper can store it. In this next time you don't have to use LRQ to ask. However, some other manufacturers of Gatekeeper misunderstand this information, causing interoperability. If you encounter problems with other label GateKeeper, try to close this option. CiscogkCompATIBLE = 1 Preset value: 0 RequirementKeeper to include NonstandardParameter information compatible with Cisco GateKeepers in LRQ. Section [rassrv :: rrqfeatures] acceptendPointIdentifier = 1 Preset value: 1 Do you accept the endpoint from the EndPointIdentifier specified in RRQ. AcceptgatewayPrefixes = 1 Preset value: 1 The latch can register the front code to the GateKeeper through SupportedPrefixes in TerminalType. This option specifies whether the GateKeeper is to accept the front code of the saver itself. Section [rassrv :: arqfeatures] ArjreasonRouteCallToScn = 0 Preset: 1 If you open, Gatekeeper will refuse to call a call from the gateway, the reason is RouteCallToSCN. ArjReasonRouteCallTogateKeeper = 1 Preset value: 1 If you open, if you have no corresponding record in the calling form when you receive a return ARQ, this call is RouteCallTogateKeeper. The endpoint should end the call immediately after receiving, and re-send the call request to Gatekeeper. That is to say, the message terminal cannot bypass GateKeeper directly to the person.

CallunRegisteeredEndPointS = 0 Preset: 1 If you open this option, GateKeeper accepts the endpoint to specify the endpoint address in ARQ, which is specified by DestCallSignaladdress, regardless of whether this address belongs to a registered endpoint. This means that you can understand the designated IP address. RemoveTrailingChar = # Preset: If the last character of DestinationInfo in ARQ is the same as that specified in this option, remove it. For example, some endpoints will be incorrectly put into DestinationInfo, and you can take it off through this option. Section [CallTable] generatenbcdr = 0 Preset value: 1 Generate call details from the Neighbor area. Since the message is not part of this area, its EndPoint ID will appear empty. GenerateuCCDR = 0 Preset: 0 Generates a call to calls not on the phone. Usually only the purpose of the detection. Note that the call turning is defined as that in routing mode, receives the Q.931 Connect message with GateKeeper. In direct mode, call always considers that is turned on. DefaultCallTimeout = 3600 Preset value: 0 Preset call interval time, in seconds. If set to 0, cancel this function. Section [endpoint] GNU Gatekeeper can be registered to other GateKeeper becomes an endpoint. With this feature, you can easily build the classic class architecture of GateKeeper. Gatekeeper = 10.0.1.1 Preset: NO Defines the upper layerKeeper location. Don't register yourself, unless you are crazy. This one can be canceled if set to NO. TYPE = Gateway preset value: Gateway defines the type of endpoint. Can be set to Gateway or Terminal. H323ID = CITRONPROY preset value: Specifies the H.323 ID of the endpoint. Specifies several, separated by commas. E164 = 18888600000, 18888700000 Preset: E.164 (DiAledDigits) AliaseS without specified endpoint. You can also specify several, separated by a comma. Password = 123456 Preset value: None specified password to the upper layerKeeper. All RAS requests sent to the upper Gatekeeper will include the password in the CryptoKens field. If not specified, it will not be added to the CRYPTOTOKENS field. In addition, this password is also used to give the LRQ of Neighbors. Prefix = 188886, 188887 Preset: No registration to the pre-layer Gatekeeper's preamble. It is only valid when the type is Gateway. TimeEtolive = 900 Preset: No suggestion registration time. However, the real time is specified by the upper layerKeeper in RCF. See the previous description. RRQRETRYINTERVAL = 10 Preset value: 10 If the sent RRQ does not receive a response, it will be resembled once, in seconds. ARQTIMEOUT = 2 Preset value: 2 Define the timeout time of the ARQ request. UnregisteronReload = 1 Preset value: 0 Defining sub-Gatekeeper Whether or not to be re-registered until the upper layerKeeper when receiving the Reload instruction.

NATRETRYINTERVAL = 60 Preset: 60 Defines the retry time of NAT Socket, units in seconds. If you don't understand, use the preset value. NATKEEPALIVEINTERVAL = 86400 Preset value: 86400 Defines the retransmission time of the NAT Socket, unit is second. If you don't understand, use the preset value. Section [EndPoint :: Rewritee164] Once you specify the preamble of the upper layerKeeper, the upper GateKeeper will send the dial-up dialing at the beginning of the previous code to the lower levelKeeper. The lower layer GateKeeper can rewrite the destination number according to the rules defined in this section. Relatively, the call from the lower layer GateKeeper is also changed to the source number via this section. Format: External Prefix = INTERNAL Prefix For example, you have the following system: [PARENT GK] ID = CITRONGK / / / / / / / [CHILD GK] [EP3] ID = proxygk E164 = 18888200 prefix = 188886 / / / / / [EP1] [EP2] E164 = 601 E164 = 602 Define such rewritable rules: 188886 = 6 If the EP1 hits 18888200 call EP3, the callPartynumber field in Q.931 Setup will be rewritten as 18888601. Conversely, EP3 can be played 18888601 or 18888602 to call EP1 or EP2. In other words, each registration is an endpoint of '6' on the Child GK, and the endpoint of the registration in the Parent GK, it looks like it is directly registered in the Parent GK and the beginning number is '188886'. This section is not related to the setting of RasSRV :: Rewritee164, and the latter will take priority. Section [Gatekeeper :: Auth] This section defines the authentication mechanism for GateKeeper. Syntax: Authrule = ActionS : = SimplePasswordAuth | AliasAuth | prefixauth | ... : = [; , , ...] : = Optional | Required | Sufficient : = GRQ | RRQ | URQ | ARQ | BRQ | DRQ | LRQ | IRQ Each rule has three results: OK, Fail and Next. OK - This module recognizes a request. Fail - Authentication failure should be rejected back. Next - This module cannot determine if a request can be accepted. There are three ways to control: Optional - if this module cannot decide whether to accept a request, it will be sent to the next group. Required - All requests must pass the authentication of this module, otherwise it will be rejected back. The authentication through the request will be sent to the next group. Sufficient - If a request is recognized, it will be accepted, otherwise it will be rejected. This means that this module determines the last destiny of the request. Other modules should not be placed after this module because it will not be used.

The module currently supported by: SimplePasswordAuth / MySQLPasswordAuth / LDAPPasswordAuth / ExternalPasswordAuth This series of modules check the TokenS or CryptotoKens field in the RAS message, where at least it is to include both the GENERALID and Password. If the CryptotoKens field, only the MD5 encoded CRYPTOEPPWDHASH tag is only supported, as well as the NESTEDCryptoken tag encoded by HMAC-SHA1-96 (you must install libssl). For SimplePasswordAuth, MysqlpasswordAuth, LdappasswordAuth, ID and Passwords are stored in [Password] section, MySQL Database, LDAP Database, and from external programs. It is also easy to support the support of other backend database. NeighborpasswordAuth is only used to authenticate Neighbors defined in [Rassr :: neighbors]. AliasAuth / MySQLALASAUTH / LDAPALIASAUTH This module can only be used to do RegistrationRequest (RRQ) authentication. The IP of the endpoint must meet a specified style. The style of the AliasAuth module is defined in the [RASSRV :: RrqAuth] section, and the MySQLALIASAUTH module is defined in [MySQLALIASAUTH], and the LDAPALIASAUTH module, Alias ​​and IP must be defined in the LDAP project. PrefixAuth is originally called gkauthorize. RAS request with a preamble, its IP or AliaSES must conform to a specified style. See the detailed description of [PrefixAuth]. This module can only be authenticated by AdmissionRequest (ARQ) and LocationRequest (LRQ). Alternatively, you can set a module to check for some RAS messages. For example, in the next example, SimplePasswordAuth is set to Optional, which is only for RRQ and ARQ. If a RRQ is not approved by SimplePasswordAuth, then check it out. The preset is to accept all requests. Example: SimplePasswordAuth = Optional; RRQ, arq aliasauth = sufficient; rrq default = allow section defines the user ID and password of the SimplePasswordAuth module. Use `make addpasswd 'to generate the AddPasswd tool program to join ID and password. Usage: addpasswd config userid password option: keyfilled = 123 Preset value: 0 Defines the key value of the encrypted. Note If you reset this value, all passwords must be regenerated. Checkid = 1 Preset value: 0 Do not check if Aliases and ID are the same. PasswordTimeout = 120 Preset: -1 SimplePasswordAuth system The module will temporarily save the test password to speed up the next check. This option defines a temporal length of the temporary, in seconds. If set to 0 indicates that the password temporary is turned off, if the negative value is set to a negative value, it means that the temporary password is not cleared. Section [mysqlauth] Defines the database, form, and field used by the MySQLPasswordAuth module to obtain the user ID and password.

Host = localhost preset value: localHost MySQL server host name or IP. Database = BILLING preset value: Billing Database. User = CWHUANG password = 123456 Use this name and password to connect the database. Table = Customer places the user ID and password form. Idfield = IPN user ID field name. Passwordfield = Password's field name. Extracriterion = Kind> 0 Preset value: No additional query conditions are specified. The above setting will produce the following SQL query instructions: SELECT $ Passwordfield from $ TABLE WHER $ IDFIELD =% ID [AND $ extracriterion] section [ExternalPasswordAuth] Specifies an external program to obtain a password as an authentication. This program should be input from the stdin and output a password from the STDOUT. Passwordprogram = / usr / local / bin / getPasswd default: The execution file name of the N / A external program. Section [rassrv :: rrqauth] Specifies the style of AliasAuth mode authentication. First query in the RRQ alias, if you find it, apply this rule to determine whether this RRQ is accepted. Rules can contain multiple conditions separated by `& '. Syntax: : = EMPTY | "&" : = : " : =" sigaddr "|" SIGIP ": = [ ! &] * The meaning of the marker is : sigaddr - The location displayed by `` printon (Ostream) '' displayed in formal representation. Example: sigaddr:. * Ipdress. * Ip =. * C0 A8 E2 A5. * Port = 1720. * Sigip - Special `sigaddr ', in general IP representation:` `bytea.byteb.bytec.byted : port ''. Example: SIGIP: 192.168.242.165: 1720 Allow - Allow this Alias ​​to register, no matter why IP. Deny - Reject this Alias ​​registration, no matter what IP. Section [mysqlalaiasauth] Defines the database, tables, and fields used by the MySQLaliasAuth module to get an Alias ​​authentication style. Host = localhost preset value: localHost MySQL server host name or IP. Database = BILLING preset value: Billing Database. User = CWHUANG password = 123456 Use this name and password to connect the database. Table = Customer query form. Idfield = IPN user ID field name. Ipfield = ADDRESS IP style field name.

Extracriterion = Kind> 0 Preset value: No additional query conditions are specified. The above settings will produce the following SQL query instructions: SELECT $ IPFIELD from $ TABLE WHER $ IDFIELD =% Alias ​​[and $ extracriterion] section [prefixauTh] This section defines the authentication rule for the prefixAuth module. Currently, this module can only be used to authenticate ARQ and LRQ. First, the longest preamble is selected according to the DestinationInfo in the RAS request, and then determine whether the request is accepted according to the most consistent network segment. If the appropriate preamble rule is not found, there is a specified default option, depending on the default, the request will be transferred to the next module or reject the request according to the setting of the module. Format: prefix = authrule [| authrule | ...] Syntax: : = : = deny | allow : = [!] Ipv4: | ] Alias: Where Delivery point representation or CIDR representation, and must be a formal representation. If the front is added to `! 'The flag is expressed as the meaning. Example: 555 = deny IPv4: 10.0.0.0/27 | Allow IPv4: 0/0 5555 = Allow IPv4: 192.168.1.1 | Deny IPv4: 192.168.1.0 86 = deny! IPv4: 172.16.0.0/24 09 = DENY Alias: ^ 188884. * All = Allow IPv4: ALL In this setting, all endpoints outside of the 10.0.0.0/27 network segment can play the number of 555 but not 5555. In addition to the endpoints from 192.168.1.0/24 from 192.168.1.0/24, you cannot dial the number of 5555. In addition to the endpoints outside the segment of the 172.16.0.0.0/24 section, you cannot dial the number of 86. The endpoints at which Alias ​​begin to 188884 cannot be dial 09. Also all situations are allowed. Section [GKLDAP :: LDapattributeNames] This section defines the name of the property used by the LDAP database. H323ID endpoint H.323 ID. In the LDAP database, you must be unique (this is why we choose Email as a preset value). E.164 alias of the telephonno endpoint. The VoipipadDress LDapaliasAuth module is used to compare the IP location. You can only specify a value. The H235Password LDAPPasswordAuth module is used to compare the password field. You can only specify a value. Section [GKLDAP :: Settings] This section defines some of the parameters of the LDAP server and client. ServerName Preset: The domain name of the LDAP LDAP server. ServerPort Preset: 389 LDAP Server TCP Run (usually 389). SearchBaseDN preset value: o = UNIVERSITY OF MICHIGAN, C = US LDAP Server Tree Structure Entry Point. Search only from this node. BINDUSERDN preset value: CN = Babs Jensen, o = UNIVERSITY OF MICHIGAN, C = US GateKeeper is used to connect the unique name of the LDAP server. If you do not specify, use an anonymous query.

BindUserPW Preset: ReallySecretPassword If you specify BINDUSERDN, you must specify the corresponding password here. Sizelimit Preset value: 0 Single query may return the most result. Because Gatekeeper expects that each query should have only zero or one result, this parameter is rarely used. TimeLimit Preset value: 0 The number of more than the second query. Section [NatendPoints] Theory GateKeeper automatically detects whether the endpoint is in NAT, and do appropriate disposal. However, if automatic detection is invalid, you can manually specify from this section. Format: Alias ​​= true, yes, 1, ... example: The endpoint of the specified number 601 is behind NAT. 601 = True Section [CTI :: Agents] This section is used to set the virtual column, and will be sent to an external program in the future. The so-called virtual gap is like a endpoint that can be called with the aliasing of H.323. When receiving ARQ belonging to the virtual column, Gatekeeper will send RouteRequest through the STATUS PORT and wait for an external program. Possible results include Routereject, indicating that this call is rejected, or Routetoalias, guided this call to the number specified by an external program. If the response is not received within the specified time, the call will end. At present, you can only specify a virtual 伫 伫 on each Gatekeeper. Please see the question in the relevant information and response. VirtualQueue Preset: Non-defined H.323 alias. CTI_TIMEOUT presets: 10 Waiting for the timeout time of RouteRequest response. If the time is exceeded, the ARJ will be sent to the original call end. 5. Status Monitoring 5.1 Status Interface Status The interface is an external interface for monitoring and controlling GateKeeper. GateKeeper will transmit information about calling the phone to all of the connected client and can accept the instruction through this interface. This interface is a simple TCP Port (preset is 7000), you can connect with Telnet or other corrections. Another different user end model is Java GUI, also known as GKGUI. Application You have to use the status interface to do something depends on yourself, but there are some suggestions: monitoring call status monitoring the registered endpoint graphics user interface reference gkgui. The billing application analyzes the message of the call detail record and forwards to the billing application. Interface Extension If you do not want to release an additional original code, only the core functions and interfaces mainly through the status interface are released and the external private part can be retained. Examples assume that you are interested in call details and want to perform them in fixed intervals. Here is a simple Perl Script (GNUGK_CDR.PL) that launches GateKeeper and generates a simple user terminal program of a status interface and writes CDRs into a record file.

#! / usr / bin / perl # Sample Program That Demonstrates how to write the cdrs to a log file us :: socket; user ie :: handle; my $ logfile = "/HOME/jan/cdr.log "; MY $ gk_host =" localhost "; my $ gk_port = 7000; my $ gk_pid; if ($ gk_pid = fork ()) {# Parent Will Listen to Gatekeeper Status Sleep (1); # Wait for GK To Start My $ GK TO SOCK = IO :: Socket :: inet-> new (peeraddr => $ gk_host, peerport => $ gk_port, proto => 'tcp'); if (! defined $ suck) {DIE "can't connect to Gatekeeper At $ GK_HOST: $ GK_PORT ";} $ sIG = SUB {Kill 1, $ GK_PID;}; # pass hup to gatekeeper $ sig = sub {close (cdrfile); kill 2, $ gk_pid;}; # close file when terminate Open (CDRFILE, ">> $ logfile"); CDRFILE-> Autoflush (1); # don't buffer output while (! $ Sock-> eof ()) {MY $ msg = $ sock-> getLine (); $ Msg = (Split (/; /, $ msg)) [0]; # remove junk at end of line my $ msgtype = (split (// | /, $ msg)) [0]; if ($ msgtype eq " CDR ") {print CDRFile" $ msg / n ";}} close (cdrfile);} else {# child starts Gatekeeper Exec (" gnugk ");} There are currently a few more interfaces. The graphical user front-end interface is developed by different people or units, respectively. Java GUI is developed by Jan Willamowius. You can monitor registrants and call status through Gatekeeper. One menu will pop up when you press the slope button. This graphical user interface can be executed on most web browsers in Java 1.0. Based on security factors, the graphical user interface must be a single execution (STANDALONE), or hooks on the web server, but this web server must be the same as the Gatekeeper's IP (that is, you can't use local file file) Execute the applet form). This program can get http://www.gnugk.org/h323gui.html from the following URL. Gkgui This is a new Java program developed by Shiyu Information Network, executed separately, requiring Java 1.4. The new features include: Multiple Gatekeepers at the same time. Two review modes: Button List and Tree List. Detailed call record (CDR) and statistics. A status record file can be generated. Different types of endpoints use different colors to distinguish. Adjustable GateKeeper setting file. Can force the registration of the endpoint. Storage and print status record files and call detail records.

Gkgui is published in the form of a GNU General Public License, which can be obtained from the following URLs http://www.gnugk.org/h323develop.html#java. 5.2 Commandion Help or h command will display the list of commands available. Reload reload settings. Version, V Displays the version and Gatekeeper job system information. Statistics, s Displays Gatekeeper statistics. Example: Statistics: 21 Terminals: 17 Gateways: 4 Nated: 2 Cached Endpoints: 1 Terminals: 1 Gateways: 0 - Call Statistics - Current Calls: 1 Active: 1 from neighbor: 0 from Parent: 0 Total Calls: 1539 Success: 60 from Parent: 5 Startup: Fri, 21 Jun 2002 10:50:22 0800 Running: 11 Days 04:22:59; PrintallRegistrations, R? Show all Registered endpoint. Format: AllRegistrations RCF | IP: Port | Aliases | Terminal_Type | EndpointID ... Number of Endpoints: n; example: AllRegistrations RCF | 10.1.1.10: 1720 | 800: dialedDigits = Wei: h323_ID | terminal | 1289_endp RCF | 10.0.1.43 : 1720 | 613: dialedDigits = Jacky Tsai: h323_ID | terminal | 1328_endp RCF | 10.0.1.55: 1720 | 705: dialedDigits = Sherry Liu: h323_ID | terminal | 1333_endp Number of Endpoints: 3; PrintAllRegistrationsVerbose, rv, ?? displays all Details of the registered endpoint. Format: AllRegistrations RCF | IP: Port | Aliases | Terminal_Type | EndpointID Registration_Time C (Active_Call / Connected_Call / Total_Call) [Prefixes: ##] (gateway only) ... Number of Endpoints: n; Example: AllRegistrations RCF | 10.0.1.8:1720|Accel-gw2: h323_id|gateway|1322_ENDP WED, 26 JUN 2002 16:40:03 0800 C (1/5/33) <1> Prefixes: 09,002 RCF | 10.1.1.10: 1720 | 800 : DiAledDigits = WEI: H323_ID | Terminal | 1289_ENDP WED, 26 JUN 2002 16:40:55 0800 C (0/32/39) <1> RCF | 10.0.1.66: 1720 | 716: DaialedDigits = Vicky: H323_ID | Terminal | 1425_ENDP WED, 26 JUN 2002 16:40:58 0800 C (1/47/53) <1> Number of Endpoints: 2; PrintCurrentCalls, C,! Display all current calls.

Format: CurrentCalls Call No. # | CallID | Call_Duration | Left_Time Dialed_Number ACF | Caller_IP: Port | Caller_EPID | CRV ACF | Callee_IP: Port | Callee_EPID | CRV ... Number of Calls: Current_Call Active: Active_Call From Neighbor: Call_From_Neighbor / From Parent : Call_From_Parent; Example: CURRENTCALLS CALL No. 29 | Callid BD C6 17 FF AA EA 18 10 85 95 44 45 53 54 77 77 | 109 | 491 Dial 0953378875: DiAledDigits ACF | 10.0.1.49: 1720 | 4048_CGK1 | 25263 ACF | 10.1 1: 1: 1720 | 25263 Call No. 30 | Callid 70 0e DD C0 9A CF 11 5E 00 01 00 05 5D F9 28 4D | 37 | 563 Dial 0938736860: DiAledDigits ACF | 10.0.1.48: 1032 | 4041_CGK1 | 11896 ACF | 10.1.1.1: 1720 | 4037_CGK1 | 11896 Number of Calls: 2 Active: 2 from neighbor: 0 from Parent: 0; PrintCurrentCallsverbose, CV, !! Show current details of all calls. Format: CurrentCalls Call No. # | CallID | Call_Duration | Left_Time Dialed_Number ACF | Caller_IP: Port | Caller_EPID | CRV ACF | Callee_IP: Port | Callee_EPID | CRV # Caller_Aliases | Callee_Aliases | Bandwidth | Connected_Time ... Number of Calls: Current_Call Active: Active_Call From NB: Call_From_Neighbor; example: CurrentCalls Call No. 48 | CallID 7d 5a f1 0a ad ea 18 10 89 16 00 50 fc 3f 0c f5 | 30 | 570 Dial 0225067272: dialedDigits ACF | 10.0.1.200: 1720 | 1448_ENDP | 19618 ACF | 10.0.1.7: 1720 | 1325_ENDP | 19618 # Sherry: H323_ID | Accel-GW1: H323_ID | 200000 | WED, 26 JUN 2002 17:29:55 0800 <2> Number of Calls: 1 Active: 1 From Nb: 0; Find, F Search for registered endpoints in an alias or prefix. Format: Find Alias ​​RCF | IP: Port | AliaS | Terminal_Type | EndpointID; Example: F 800 RCF | 10.1.1.10: 1720 | 800: DaialedDigits = WEI: H323_ID | Terminal | 1289_ENDP; F 801 SoftPBX: Alias ​​801 Not Found! FindverBose FV search for details of registered endpoints in an alias or prefix.

Format: FindVerbose Alias ​​RCF | IP: Port | Aliases | Terminal_Type | EndpointID Registration_Time C (Active_Call / Connected_Call / Total_Call) [Prefixes: ##] (gateway only); Example: fv 02 RCF | 10.0.1.100: 1720 | TFN: H323_ID | GATEWAY | 4037_CGK1 WED, 26 JUN 2002 17:47:29 0800 C (0/84/120) <1> prefixes: 02,09; unregisterip to cancel a certain number of specific IP and port points . Format: UnregisterIP IP [: Port] Examples: UnregisterIP 10.0.1.31:1720 URQ | 10.0.1.31: 1032 | 1326_endp | maintenance; SoftPBX: Endpoint 10.0.1.31:1720 unregistered UnregisterAlias ​​forced to cancel the registered owner of a aliases endpoint!. Format: Unregisteralias Alias: Unregisteralias 601 URQ | 10.0.1.31: 1032 | 1326_ENDP | Maintenance; SoftPBX: Endpoint 601 Unregistered! UnregisteralLendPoint Forces the registration of all endpoints. Format: Example: UnregisterallendPoints URQ | 10.0.1.7: 1024 | 1325_ENDP | Maintenance; URQ | 10.0.1.8: 1024 | 1322_ENDP | Maintenance; URQ | 10.0.1.32: 1032 | 1324_ENDP | Maintenance; URQ | 10.0.1.36: 1032 | 1323_endp "Maintenance; URQ | 10.0.1.42: 1032 | 1318_ENDP | Maintenance; Done; disconnectCall Forced a call for a particular number. Format: DisconnectCall Number Example: DisconnectCall 1533 Disconnectip Force all calls for a particular IP and port points. Format: Disconnectip IP [: Port] Example: Disconnectip 10.0.1.31:1720 Disconnectalias enforces all calls with an AliaS endpoint. Format: Disconnectalias Alias: Disconnectalias 601 ClearCalls Force all calls. GK displays if it is registered to Gatekeeper. DEBUG is only used in unligrated destination. Option: TRC [ | - | n] Display / Adjust the defective level. CFG Sec PAR reads and lists setting parameters in a chapter. SET Sec PAR VAL is written to the parameter setting value in a chapter. Remove Sec PAR Removes the parameter setting value in a chapter. Remove Secovets removes a chapter. Printrm Verbose lists endpoint records that have been canceled but have not been removed. Example: Debug TRC 3 Debug Set RoutedMode H245ROUTED 1 WHO Shows all people who monitor the status interface. Routereject refuses to speaking in a virtual column.

Format: Routereject CallingendPointId Callref Example: Routereject Endp_4711 1234 Routetoalias, RTA Sends a call in the virtual column to the specified endpoint. Format: Routetoalias Alias ​​CallInGendPointId CallRef Sample: Routetoalias Suzi Endp_4711 1234 Exit, Q Leave the status interface. 5.3 Message This section describes all messages and formats output to the status interface. GCF | IP | AliaS | EndPoint_Type; Gatekeeper receives a GATEPERREQUEST (GRQ) and responds to a GatekeeperConfirm (GCF). GRJ | IP | AliaS | Endpoint_Type | RejectReason; Gatekeeper receives a GATEPERREQUEST (GRQ) and responds to a GatekeePerreject (GRJ). RCF | IP: Port | AliaseS | Endpoint_Type | EndPointId; Gatekeeper receives a RegistrationRequest (RRQ) and responds to a RegistrationConfirm (RCF). RRJ | IP | AliaseS | Endpoint_Type | Rejectreason; Gatekeeper receives a RegistrationRequest (RRQ) and responds to a registrationReject (RRJ). ACF | CALLER_IP: Port | Caller_ENDPOINTID | CRV | DestinationInfo | SRCINFO | Isanswered; Gatekeeper receives an ADMISSIONREQUEST (ARQ) and responds to an ADMISSIONCONFIRM (ACF). Arj | Caller_IP: Port | DestinationInfo | Srcinfo | Isanswered | RejectReason; Gatekeeper receives an admissionRequest (ARQ) and responds to an AdMissionReject (ARJ). DCF | IP | EndPointID | CRV | DISENGAGEREASON; Gatekeeper receives a DisngageRequest (DRQ) and responds to a dishanconfirm (DCF). DRJ | IP | EndPointID | CRV | RejectReason; Gatekeeper receives a DisngageRequest (DRQ) and responds to a dishangeeject (DRJ). LCF | IP | EndPointID | DestinationInfo | Srcinfo; Gatekeeper receives a LocationRequest (LRQ) and responds to a LocationConfirm (LCF). LRJ | IP | DestinationInfo | SRCINFO | RejectReason; Gatekeeper receives a locationRequest (LRQ) and responds to a locationReject (LRJ). BCF | IP | EndpointId | Bandwidth; Gatekeeper receives a BandWidthRequest (brq) and responds to a BandWidthconfirm (BCF). BRJ | IP | EndpointId | Bandwidth | RejectReason; Gatekeeper received a BandWidthRequest (brq) and responded to a BandWidthreject (brj).

转载请注明原文地址:https://www.9cbs.com/read-93086.html

New Post(0)