Importing rev 7939 from 1.2
[asterisk/asterisk.git] / doc / README.iax
old mode 100755 (executable)
new mode 100644 (file)
index 58372e0..1a35d6b
@@ -31,7 +31,7 @@ and H.323, some of which are:
        * High performance, low overhead protocol
             When running on low-bandwidth connections, or when running 
             large numbers of calls, optimized bandwidth utilization is 
-            imperitive.  IAX uses only 4 bytes of overhead
+            imperative.  IAX uses only 4 bytes of overhead
 
        * Internationalization support
             IAX transmits language information, so that remote PBX 
@@ -133,10 +133,12 @@ The first line of the "general" section is always:
 
 Following the first line are a number of other possibilities:
 
-> port = <portnum>
+> bindport = <portnum>
 
-This sets the port that IAX will bind to.  The default IAX port number is 
-5036.  It is recommended that this value not be altered in general.
+This sets the port that IAX will bind to.  The default IAX version 1 
+port number is 5036.  For IAX version 2, that is now the default in
+Asterisk, the default port is 4569.
+It is recommended that this value not be altered in general.
 
 > bindaddr = <ipaddr>
 
@@ -170,12 +172,15 @@ disallow the LPC10 codec just because it doesn't sound very good.
 
 These parameters control the operation of the jitter buffer.  The 
 jitterbuffer should always be enabled unless you expect all your 
-connections to be over a LAN.  The drop count is the maximum number of 
-voice packets to allow to drop (out of 100).  Useful values are 3-10.  The 
-maxjitterbuffer is the maximum amount of jitter buffer to permit to be 
-used.  The "maxexcessbuffer" is the maximum amount of excess jitter buffer 
-that is permitted before the jitter buffer is slowly shrunk to eliminate 
-latency.
+connections to be over a LAN.  
+* drop count is the maximum number of voice packets to allow to drop 
+  (out of 100).  Useful values are 3-10.  
+* maxjitterbuffer is the maximum amount of jitter buffer to permit to be 
+  used.  
+* maxexcessbuffer is the maximum amount of excess jitter buffer 
+  that is permitted before the jitter buffer is slowly shrunk to eliminate 
+  latency.
+* minexcessbuffer is the minimum amout of excess jitter buffer
 
 > accountcode = <code>
 > amaflags = [default|omit|billing|documentation]
@@ -198,7 +203,7 @@ these packets, improving voice quality.
 
 > register => <name>[:<secret>]@<host>[:port]
 
-Any number of registery entries may be instantiated in the general 
+Any number of registry entries may be instantiated in the general 
 section.  Registration allows Asterisk to notify a remote Asterisk server 
 (with a fixed address) what our current address is.  In order for 
 registration to work, the remote Asterisk server will need to have a 
@@ -208,13 +213,20 @@ The name is a required field, and is the remote peer name that we wish to
 identify ourselves as.  A secret may be provided as well.  The secret is 
 generally a shared password between the local server and the remote 
 server.  However, if the secret is in square brackets ([]'s) then it is 
-interpreted as the name of a key to use.  In that case, the local Asterisk 
+interpreted as the name of a RSA key to use.  In that case, the local Asterisk 
 server must have the *private* key (/var/lib/asterisk/keys/<name>.key) and 
 the remote server will have to have the corresponding public key.
 
 The "host" is a required field and is the hostname or IP address of the 
 remote Asterisk server.  The port specification is optional and is by 
-default 5036 if not specified.
+default 4569 for iax2 if not specified.
+
+> notransfer = yes | no
+
+If an IAX phone calls another IAX phone by using a Asterisk server, 
+Asterisk will transfer the call to go peer to peer. If you do not
+want this, turn on notransfer with a "yes". This is also settable
+for peers and users.
 
 -------------
 
@@ -232,7 +244,7 @@ should be an alphanumeric string.
 > type = [user|peer|friend]
 
 This line tells Asterisk how to interpret this entity.  Users are things 
-that connect to us, while peers are people we connect to, and a friend is 
+that connect to us, while peers are phones we connect to, and a friend is 
 shorthand for creating a user and a peer with identical information
 
 ----------------
@@ -244,7 +256,7 @@ One or more context lines may be specified in a user, thus giving the user
 access to place calls in the given contexts.  Contexts are used by 
 Asterisk to divide dialing plans into logical units each with the ability 
 to have numbers interpreted differently, have their own security model, 
-auxilliary switch handling, and include other contexts.  Most users are 
+auxiliary switch handling, and include other contexts.  Most users are 
 given access to the default context.  Trusted users could be given access 
 to the local context for example.
 
@@ -262,10 +274,10 @@ the final result being the decision.  For example:
 would deny anyone in 192.168.0.0 with a netmask of 24 bits (class C), 
 whereas:
 
-> deny = 192.168.0.0/255.255.255.0
-> permit = 0.0.0.0/0.0.0.0
+> deny = 192.168.0.0/24
+> permit = 0.0.0.0/0
 
-would not deny anyone since the final rule would permit anyone, thsu 
+would not deny anyone since the final rule would permit anyone, thus 
 overriding the denial.  
 
 If no permit/deny rules are listed, it is assumed that someone may connect 
@@ -281,9 +293,9 @@ perspective of your server.
 
 You may select which authentication methods are permitted to be used by 
 the user to authenticate to us.  Multiple methods may be specified, 
-separated by commas.  If md5 or plaintext authentication is selected, a 
-secret must be provided.  If RSA authentication is specified, then one or 
-more key names must be specifed with "inkeys"
+separated by commas. If md5 or plaintext authentication is selected, a 
+secret must be provided. If RSA authentication is specified, then one or 
+more key names must be specified with "inkeys"
 
 If no secret is specified and no authentication method is specified, then 
 no authentication will be required.
@@ -323,4 +335,35 @@ If the host uses dynamic registration, Asterisk may still be given a
 default IP address to use when dynamic registration has not been performed 
 or has timed out.
 
+> peercontext = <context>
+
+Specifies the context name to be passed to the peer for it to use when routing
+the call through its dial plan. This entry will be used only if a context
+is not included in the IAX2 channel name passed to the Dial command.
+
+> qualify = [yes | no | <value>]
+
+Qualify turns on checking of availability of the remote peer. If the 
+peer becomes unavailable, no calls are placed to the peer until
+it is reachable again. This is also helpful in certain NAT situations.
+
+> jitterbuffer = [yes | no]
+
+Turns on or off the jitterbuffer for this peer
+
+> mailbox = <mailbox>[@mailboxcontext]
+
+Specifies a mailbox to check for voicemail notification.
+
+> permit = <ipaddr>/<netmask>
+> deny = <ipaddr>/<netmask>
+
+Permit and deny rules may be applied to users, allowing them to connect 
+from certain IP addresses and not others.  The permit and deny rules are 
+interpreted in sequence and all are evaluated on a given IP address, with 
+the final result being the decision.  See the user section above 
+for examples.
 
+----------------------------------------------------------------------
+For more examples of a configuration, please see the iax.conf.sample in
+your the /configs directory of you source code distribution