Browse code

alignment to 8.11

Jiri Kuthan authored on 03/06/2003 02:43:24
Showing 6 changed files
... ...
@@ -301,15 +301,15 @@ SIP_HF_CONTACT=<sip:123.20.128.35:9315>
301 301
 		    processing on receipt of a negative reply.
302 302
 		    (see <xref linkend="replyprocessingsection">). Before
303 303
 		    a request is forwarded, it is labeled to be
304
-		    re-processed in a <command moreinfo="none">reply_route</command>
304
+		    re-processed in a <command moreinfo="none">failure_route</command>
305 305
 		    on receipt of a negative reply -- this is what
306
-		    <command moreinfo="none">t_on_negative</command> action
306
+		    <command moreinfo="none">t_on_failure</command> action
307 307
 		    is used for. It does not matter what caused the transaction
308 308
 		    to fail -- it may be unresponsive downstream server,
309 309
 		    server responding with 6xx, or server sending a 487
310 310
 		    reply, because an INVITE was cancelled. When any such
311 311
 		    circumstances occur (i.e., transaction does not complete
312
-		    with a 2xx status code), <command moreinfo="none">reply_route</command>
312
+		    with a 2xx status code), <command moreinfo="none">failure_route</command>
313 313
 		    is entered.
314 314
 		</para>
315 315
 		<para>
... ...
@@ -441,7 +441,7 @@ print
441 441
 			feature: web applications and other tools can use it
442 442
 			to gain users access to the database. They can add new
443 443
 			contacts (like permanent gateway destinations), remove
444
-			and review their whereabouts. The example here utilizes
444
+			and review users' whereabouts. The example here utilizes
445 445
 			FIFO command <command>ul_show_contact</command> to
446 446
 			retrieve current whereabouts of user "jiri".
447 447
 			<programlisting>
... ...
@@ -517,8 +517,8 @@ EOF
517 517
 		    The web interface needs to have the ability to upload new user's
518 518
 		    contacts to <application moreinfo="none">ser</application>.
519 519
 		    This is what the <command moreinfo="none">ul_add</command> FIFO
520
-		    command is good far. Paremeterized by user's name, table name,
521
-		    expiration time and wight, it allows external applications to
520
+		    command is good for. Paremeterized by user's name, table name,
521
+		    expiration time and weight, it allows external applications to
522 522
 		    introduce new contacts to server's in-memory user location table.
523 523
 		</para>
524 524
 		<para>
... ...
@@ -752,20 +752,11 @@ To: callee
752 752
 
753 753
 
754 754
 
755
-		    The largest amount of code
756
-		    is spent with getting dialog processing right.
757
-		    The subsequent BYE and REFER transactions need to
758
-		    be build using information learned from the reply
759
-		    to INVITE: Contact header field, To-tag and Route
760
-		    set. That's what the function 
761
-		    <function moreinfo="none">filter_fl</function>
762
-		    is used for. The "main" part just initiates
763
-		    each of the transactions, waits for its completion
764
-		    and proceeds to the next one until BYE is over.
765 755
 		    Source code of the example written in Bourne shell
766 756
 		    is available in source distrubtion, in 
767 757
 		    <filename moreinfo="none">examples/ctd.sh</filename>.
768
-		    A PHP implementation exists as well.
758
+		    A PHP implementation exists as well as a part of
759
+			<application>serweb</application>.
769 760
 		</para>
770 761
 		<example>
771 762
 		    <title>Running the CTD Example</title>
... ...
@@ -17,10 +17,10 @@
17 17
 		The <acronym>SIP</acronym> Express Router enables a flexible plug-in model for new 
18 18
 		applications: Third parties can easily link their plug-ins with 
19 19
 		the server code and provide thereby advanced and customized services. 
20
-		In this way, plug-ins such as <acronym>SNMP</acronym> support, RADIUS accounting,
21
-		or SMS gateway have already been developed and are provided as 
22
-		advanced features. Other modules are underway: Presence server,
23
-		firewall control, and more.
20
+		In this way, plug-ins such as RADIUS accounting,
21
+		SMS gateway, ENUM queries, or presence agent have already been developed and are provided as 
22
+		advanced features. Other modules are underway: 
23
+		firewall control, postgress and LDAP database drivers and more.
24 24
 	    </para>
25 25
 	    <para>
26 26
 		Its performance and robustness allows it to serve millions of users 
... ...
@@ -43,8 +43,10 @@
43 43
 		used with contributed applications. Currently, 
44 44
 		<application moreinfo="none">serweb</application>, a
45 45
 		<application moreinfo="none">ser</application> web interface,
46
-		and <application moreinfo="none">SIPSak</application>
47
-		diagnostic tool are available. Visit our site, 
46
+		<application moreinfo="none">SIPSak</application> diagnostic tool 
47
+		and 
48
+		<application>SEMS</application> media server
49
+		are available. Visit our site, 
48 50
 		<ulink url="http://www.iptel.org/">http://www.iptel.org/</ulink>, 
49 51
                 for more information on contributed packages.
50 52
 	    </para>
... ...
@@ -53,7 +55,7 @@
53 55
 	<section id="aboutiptel">
54 56
 	    <title>About iptel.org</title>
55 57
 	    <para>
56
-		iptel.org is a know-how company spun off from Germany's national 
58
+		iptel.org is a know-how organization spun off from Germany's national 
57 59
 		research company FhG Fokus. One of the first <acronym>SIP</acronym> implementations ever, 
58 60
 		low-QoS enhancements, interoperability tests and VoIP-capable firewall 
59 61
 		control concepts are examples of well-known FhG's work.
... ...
@@ -80,14 +82,11 @@
80 82
 		support for registrar, proxy and redirect mode. Further it acts as 
81 83
 		an application server with support for instant messaging and 
82 84
 		presence including a <acronym>2G/SMS</acronym> and Jabber gateway, a call control policy 
83
-		language, call number translation, private dial plans and accounting, 
85
+		language, call number translation, private dial plans and accounting, ENUM,
84 86
 		authorization and authentication (<acronym>AAA</acronym>) services. <application>SER</application> runs on Sun/Solaris, 
85 87
 		PC/Linux, PC/BSD, IPAQ/Linux platforms and supports  both <acronym>IPv4</acronym> and <acronym>IPv6</acronym>. 
86 88
 		Hosting multiple domains and database redundancy is supported.
87 89
 	    </para>
88
-	    <para>
89
-		Other extensions are underway: presence server, firewall control and more.
90
-	    </para>
91 90
 	    <para>
92 91
 		<application>ser</application> has been carefully engineered with the following 
93 92
 		design objectives in mind:
... ...
@@ -284,7 +283,7 @@
284 283
 		</itemizedlist>
285 284
 	    </para>
286 285
 	    <para>
287
-		List of known bugs is publicly available at the 
286
+		List of known problems is publicly available at the 
288 287
 		<application>ser</application> webpage at
289 288
 		<ulink url="http://www.iptel.org/ser/">
290 289
 		    http://www.iptel.org/ser/
... ...
@@ -305,17 +304,22 @@
305 304
 	</section>
306 305
 	<section id="support">
307 306
 	    <title>Obtaining Technical Assistance</title>
307
+		<para>
308
+			iptel.org offers qualified professional services. We help you to 
309
+			plan your network, configure your server, set up applications, 
310
+			integrate SIP components with each other, and set up features
311
+			such as redundancy or multidomain support. Our customer alert services
312
+			notifies you on all new features and code fixes. We help you to
313
+			solve operational troubles in short time and keep you updated on
314
+			latest operational practices. Ask info@iptel.org for
315
+			information on enrollment in our support program.
316
+		</para>
317
+
308 318
 	    <para>
309
-		We offer best-effort free support for <application>ser</application>.
310
-		"best-effort" means that we try to solve your problems via email
311
-		as soon as we can, subject to available manpower. If you need
312
-		commercial support, contact info@iptel.org.
313
-	    </para>
314
-	    <para>
315
-		To receive feedback to your inquiries, we recommend you to subscribe
316
-		to the <emphasis>serusers</emphasis> mailing list and post your
317
-		queries there. This mailing list is set up for mutual help by
318
-		the community of <application>ser</application> users and developers.
319
+		Additionaly, help may be obtained from our user forum. The community
320
+		of <application>SER</application> users is subscribed to the
321
+		serusers@iptel.org mailing list and discusses issues related to
322
+		<application>SER</application> operation.
319 323
 	    </para>
320 324
 	    <itemizedlist>
321 325
 		<title>Mailing List Instructions</title>
... ...
@@ -665,10 +665,9 @@ if (method=="REGISTER") {
665 665
 	    <para>
666 666
 		External applications can be used to rewrite URI too.
667 667
 		The "exec" module provides script actions, which start external programs
668
-		and read new URI value from their output. <command moreinfo="none">exec_uri</command>
669
-		and <command moreinfo="none">exec_user</command> both call an external program,
670
-		pass current URI or its user part to it respectively, wait until it completes,
671
-		and eventually rewrite current URI with its output.
668
+		and read new URI value from their output. <command moreinfo="none">exec_dset</command>
669
+		both calls an external program, passes SIP request elements to it, waits until it completes,
670
+		and eventually rewrites current destination set with its output.
672 671
 	    </para>
673 672
 	    <para>
674 673
 		It is important to realize that <application moreinfo="none">ser</application>
... ...
@@ -733,7 +732,8 @@ if (method=="REGISTER") {
733 732
 			    <row>
734 733
 				<entry>
735 734
 				    <command moreinfo="none">rewriteuserpass("alice:pw")</command> replaces the pair
736
-				    user:password in URI with a new value.
735
+				    user:password in URI with a new value. Rewriting password in URI is of historical
736
+					meaning though, since basic password has been replaced with digest authentication.
737 737
 				</entry>
738 738
 				<entry>
739 739
 				    sip:alice:pw@foo.bar:6060
... ...
@@ -777,7 +777,7 @@ if (method=="REGISTER") {
777 777
 		<example>
778 778
 		    <title>URI-rewriting Exercise</title>
779 779
 		    <programlisting format="linespecific">
780
-exec_uri("echo sip:2234@foo.bar; echo > /dev/null");
780
+exec_dset("echo sip:2234@foo.bar; echo > /dev/null");
781 781
 strip(2);
782 782
 if (uri=~"^sip:2") {
783 783
     prefix("0");
... ...
@@ -790,7 +790,7 @@ forward(uri:host, uri:port);
790 790
 	    </para>
791 791
 	    <para>
792 792
 		The correct answer is the resulting URI will be
793
-		"sip:134@foo.bar". <command moreinfo="none">exec_uri</command>
793
+		"sip:134@foo.bar". <command moreinfo="none">exec_dset</command>
794 794
 		rewrites original URI to "sip:2234@foo.bar", 
795 795
 		<command moreinfo="none">strip(2)</command> takes
796 796
 		two leading characters from username away resulting
... ...
@@ -832,7 +832,7 @@ forward(uri:host, uri:port);
832 832
 	    <para>
833 833
 		Actions which are currently available for creating the destination
834 834
 		set are <command>lookup</command> from usrloc module and 
835
-		<command>exec_uri/exec_user</command> from exec module.
835
+		<command>exec_dset</command> from exec module.
836 836
 		<command moreinfo="none">lookup</command> fills in the destination
837 837
 		set with user contact's registered previously with REGISTER
838 838
 		requests. The <command moreinfo="none">exec</command> actions
... ...
@@ -872,7 +872,7 @@ forward(uri:host, uri:port);
872 872
 		log</command>, for example) or they work only with the default URI.
873 873
 		All URI-rewriting functions such as
874 874
 		<command moreinfo="none">rewriteuri</command> belong in this
875
-		category. URI-comparison operands only refers to the first URI
875
+		category. URI-comparison operands only refer to the first URI
876 876
 		(see <xref linkend="operators">). Also, the built-in action
877 877
 		for stateless forwarding, <command>forward</command> works only
878 878
 		with the default URI and ignores rest of the destination set. The reason 
... ...
@@ -881,9 +881,6 @@ forward(uri:host, uri:port);
881 881
 		client. This is only achievable with stateful processing.  
882 882
 		Forking cannot be used along with stateless <command>forward</command>,
883 883
 		which thus only processes one URI out of the whole destination set.
884
-		Also, the uri comparison operand (see <xref linkend="operators">)
885
-		refers only to current URI and ignores the rest of destination
886
-		set.
887 884
 	    </para> 
888 885
 
889 886
 	</section> <!-- Destination Set -->
... ...
@@ -1048,7 +1045,7 @@ route{
1048 1045
 forward(192.168.99.100, 5060);
1049 1046
 # module-exported functions enclose all parameters in quotation
1050 1047
 # marks
1051
-t_relay_to("192.168.99.100", "5060");
1048
+t_relay_to_udp("192.168.99.100", "5060");
1052 1049
 			</programlisting>
1053 1050
 		    </example>
1054 1051
 		</para>
... ...
@@ -1119,9 +1116,9 @@ route{
1119 1116
 		This section demonstrates simple examples
1120 1117
 		how to configure server's behaviour using the
1121 1118
 		<application moreinfo="none">ser</application>
1122
-		request routing language. All scripts follow the 
1119
+		request routing language. All configuration scripts follow the 
1123 1120
 		<application moreinfo="none">ser</application> language 
1124
-		syntax, which dictates the following block ordering:
1121
+		syntax, which dictates the following section ordering:
1125 1122
 		<itemizedlist>
1126 1123
 		    <listitem>
1127 1124
 			<para>
... ...
@@ -1172,9 +1169,9 @@ route{
1172 1169
 			<para>
1173 1170
 			    optionally, if modules supporting reply
1174 1171
 			    processing (currently only TM) are loaded,
1175
-			    one or more <emphasis>reply_route blocks</emphasis> containing
1172
+			    one or more <emphasis>failure_route blocks</emphasis> containing
1176 1173
 			    logic triggered by received replies. Restrictions on use of
1177
-			    actions within <command moreinfo="none">reply_route</command>
1174
+			    actions within <command moreinfo="none">failure_route</command>
1178 1175
 			    blocks apply -- see <xref linkend="builtinref"> for more
1179 1176
 			    information.
1180 1177
 			</para>
... ...
@@ -1182,15 +1179,6 @@ route{
1182 1179
 		</itemizedlist>
1183 1180
 	    </para>
1184 1181
 
1185
-	    <para>
1186
-		For more complex examples, see the etc directory in
1187
-		<application>ser</application> source distribution.
1188
-		It contains the 
1189
-		<filename moreinfo="none">iptel.cfg</filename> script which is
1190
-		in production use at iptel.org's public SIP site and exploits most of 
1191
-		<application>ser</application> features.
1192
-	    </para>
1193
-
1194 1182
 	    <section id="defaultscript">
1195 1183
 		<title>Default Configuration Script</title>		
1196 1184
 		<para>
... ...
@@ -1209,7 +1197,7 @@ route{
1209 1197
 		    unauthorized contact manipulation.
1210 1198
 		</para>
1211 1199
 		<para>
1212
-		    Non-REGISTER request for served domains are then processed using
1200
+		    Non-REGISTER requests for served domains are then processed using
1213 1201
 		    user location database. If a contact is found for requested URI,
1214 1202
 		    script execution proceeds to stateful forwarding, a negative 404
1215 1203
 		    reply is generated otherwise. Requests outside served domain
... ...
@@ -1366,7 +1354,7 @@ route{
1366 1354
 		<title>Executing External Script</title>
1367 1355
 		<para>
1368 1356
 		    Like in the previous example, we show how to
1369
-		    make ser act as a redirect server. The difference is 
1357
+		    make <application>ser</application> act as a redirect server. The difference is 
1370 1358
 		    that we do not use redirection addresses hardwired in
1371 1359
 		    <application moreinfo="none">ser</application> script but
1372 1360
 		    get them from external shell commands. We also use
... ...
@@ -1376,19 +1364,19 @@ route{
1376 1364
 		<para>
1377 1365
 		    The new commands introduced in this example are
1378 1366
 		    <command moreinfo="none">exec_msg</command> and
1379
-		    <command moreinfo="none">exec_uri</command>.
1367
+		    <command moreinfo="none">exec_dset</command>.
1380 1368
 		    <command moreinfo="none">exec_msg</command> takes
1381 1369
 		    current requests, starts an external command, and
1382 1370
 		    passes the requests to the command's standard input.
1383 1371
 		    It also passes request's source IP address in
1384
-		    environment variable named <constant>SRC_IP</constant>.
1372
+		    environment variable named <constant>SRCIP</constant>.
1385 1373
 		</para>
1386 1374
 		<para>
1387
-		    <command moreinfo="none">exec_uri</command> serves
1375
+		    <command moreinfo="none">exec_dset</command> serves
1388 1376
 		    for URI rewriting by external applications.  The
1389
-		    <command moreinfo="none">exec_uri</command> action
1390
-		    passes current URI to the called external program as
1391
-		    command-line parameter, and rewrites current destination
1377
+		    <command moreinfo="none">exec_dset</command> action
1378
+		    passes current URI to the called external program, 
1379
+		    and rewrites current destination
1392 1380
 		    set with the program's output. An example use would
1393 1381
 		    be an implementation of a Least-Cost-Router, software which
1394 1382
 		    returns URI of the cheapest PSTN provider for a given
... ...
@@ -1433,14 +1421,14 @@ route{
1433 1421
 		    can be completed at discretion of script writer.
1434 1422
 		</para>
1435 1423
 		<para>
1436
-		    The primitives used are <command moreinfo="none">t_on_negative(r)</command>
1437
-		    and <command moreinfo="none">reply_route[r]{}.</command> If
1438
-		    <command>t_on_negative</command> is called before
1424
+		    The primitives used are <command moreinfo="none">t_on_failure(r)</command>
1425
+		    and <command moreinfo="none">failure_route[r]{}.</command> If
1426
+		    <command>t_on_failure</command> is called before
1439 1427
 		    a request is statefuly forwarded and a forwarding failure occurs, 
1440 1428
 		    <application moreinfo="none">ser</application>
1441
-		    will return to request processing in a <command moreinfo="none">reply_route</command>
1429
+		    will return to request processing in a <command moreinfo="none">failure_route</command>
1442 1430
 		    block. Failures include receipt of a SIP error
1443
-		    (status code >= 300 ) from upstream or not receiving
1431
+		    (status code >= 300 ) from downstream or not receiving
1444 1432
 		    any final reply within final response period.
1445 1433
 		</para>
1446 1434
 		<para>
... ...
@@ -1456,13 +1444,13 @@ route{
1456 1444
 		    answers the call.
1457 1445
 		</para>
1458 1446
 		<para>
1459
-		    In <xref linkend="replyprocessing">, <command moreinfo="none">reply_route[1]</command>
1460
-		    is set to be entered on error using the <command moreinfo="none">t_on_negative(1)</command>
1447
+		    In <xref linkend="replyprocessing">, <command moreinfo="none">failure_route[1]</command>
1448
+		    is set to be entered on error using the <command moreinfo="none">t_on_failure(1)</command>
1461 1449
 		    action. Within this reply block, <application moreinfo="none">ser</application>
1462 1450
 		    is instructed to initiate a new branch and try to reach called party
1463 1451
 		    at another destination (sip:nonsense@iptel.org). To deal with the case when neither the alternate
1464
-		    destination succeeds, <application moreinfo="none">t_on_negative</application>
1465
-		    is set again. If the case really occurs, <command moreinfo="none">reply_route[2]</command>
1452
+		    destination succeeds, <application moreinfo="none">t_on_failure</application>
1453
+		    is set again. If the case really occurs, <command moreinfo="none">failure_route[2]</command>
1466 1454
 		    is entered and a last resort destination (sip:foo@iptel.org) is tried.
1467 1455
 		</para>
1468 1456
 		<example id="replyprocessing">
... ...
@@ -180,7 +180,7 @@ Warning: 392 127.0.0.1:5060 "Noisy feedback tells: pid=31604 req_src_ip=153.96.1
180 180
 		    <para>
181 181
 			A nice utility for debugging server chains is
182 182
 			<application moreinfo="none">sipsak</application>,
183
-			Swiss Army Knife, traceroute-like tool for SIP
183
+			SIP Swiss Army Knife, traceroute-like tool for SIP
184 184
 			developed at iptel.org. It allows you to send
185 185
 			OPTIONS request with low, increasing Max-Forwards 
186 186
 			header-fields and follow how it propagates in
... ...
@@ -763,7 +763,7 @@ MySql Password:
763 763
 			    may wish to keep track of placed calls. <application moreinfo="none">ser</application>
764 764
 			    can be configured to report on completed transactions. Reports are sent
765 765
 			    by default to <application moreinfo="none">syslog</application> facility.
766
-			    Experimental support for RADIUS and mysql accounting exists as well.
766
+			    Support for RADIUS and mysql accounting exists as well.
767 767
 			</para>
768 768
 			<para>
769 769
 			    Note that <application moreinfo="none">ser</application> is no way 
... ...
@@ -837,7 +837,7 @@ MySql Password:
837 837
 			    networks with SIP devices supporting this mechanism are
838 838
 			    built, alternative mechanisms must be used to force 
839 839
 			    clients to use backup servers. Such a mechanism is
840
-			    disconnecting primary server and replacing him with
840
+			    disconnecting primary server and replacing it with
841 841
 			    a backup server locally.
842 842
 			    It unfortunately precludes geographic dispersion and
843 843
 			    requires network multihoming to avoid dependency on
... ...
@@ -919,7 +919,7 @@ MySql Password:
919 919
 				<listitem>
920 920
 				    <para>
921 921
 					<emphasis>DNS resolution</emphasis>. DNS resolution may be
922
-					better server with stateful processing. If a request is forwarded
922
+					better served with stateful processing. If a request is forwarded
923 923
 					to a destination whose address takes long time to resolve,
924 924
 					a server process is blocked and unresponsive. Subsequent 
925 925
 					request retransmissions from client will cause other processes
... ...
@@ -934,7 +934,7 @@ MySql Password:
934 934
 				    <para>
935 935
 					<emphasis>Forwarding Services</emphasis>. All sort of services 
936 936
 					with the "forward_on_event" logic, which rely on 
937
-					<command moreinfo="none">t_on_negative</command> tm
937
+					<command moreinfo="none">t_on_failure</command> tm
938 938
 					action must be processed statefuly.
939 939
 				    </para>
940 940
 				</listitem>
... ...
@@ -999,6 +999,11 @@ MySql Password:
999 999
 				
1000 1000
 			    </orderedlist>
1001 1001
 			</para>
1002
+			<para>
1003
+				The latest <application>SER</application> release includes automated
1004
+				multidomain management which greatly automates maintenance of multiple	
1005
+				domains. Ask our technical support for more help.
1006
+			</para>
1002 1007
 	    </section> <!-- multiple domains -->
1003 1008
 	    <section id="missedcalls">
1004 1009
 		<title>Reporting Missed Calls</title>
... ...
@@ -1032,11 +1037,11 @@ MySql Password:
1032 1037
 			    duplicated on receipt of retransmissions.
1033 1038
 			    </para>
1034 1039
 			<para>
1035
-			    Secondly, transaction to on-line users are marked
1040
+			    Secondly, transactions to on-line users are marked
1036 1041
 			    to be reported on failure. That is what the 
1037 1042
 			    <command moreinfo="none">setflag(3)</command> action
1038 1043
 			    is responsible for, along with the configuration option
1039
-			    "missed_flag". This option configures <application moreinfo="none">ser</application>
1044
+			    "log_missed_flag". This option configures <application moreinfo="none">ser</application>
1040 1045
 			    to report on all transactions, which were marked
1041 1046
 			    with flag 3.			   
1042 1047
 			    <programlisting format="linespecific">
... ...
@@ -1046,7 +1051,7 @@ loadmodule("modules/acc/acc.so");
1046 1051
 # if a call is labeled using setflag(3) and is missed, it will
1047 1052
 # be reported
1048 1053
 ...
1049
-modparam("acc", "missed_flag", 3 );
1054
+modparam("acc", "log_missed_flag", 3 );
1050 1055
 if (!lookup("location")) {
1051 1056
      # call invitations to off-line users are reported using the
1052 1057
      # acc_request action; to avoid duplicate reports on request
... ...
@@ -1145,6 +1150,23 @@ if (!lookup("location")) {
1145 1150
 		    ranges configured in phones.		    
1146 1151
 		</para>
1147 1152
 	    </section> <!-- NAT traversal -->
1153
+
1154
+		<section>
1155
+		<title>Using Only Latest User's Contact for Forwarding
1156
+		</title>
1157
+			<para>
1158
+				In some scenarios, it may be beneficial only to use only one
1159
+				registered contact per user. If that is the case, setting
1160
+				registar module's parameter <varname>append_branches</varname>
1161
+				to 1 will eliminate forking and forward all requests only
1162
+				to a single contact. If there are multiple contacts, a contact
1163
+				with highest priority is chosen. This can be changed to
1164
+				the "freshest" contact by setting module parameter's
1165
+				<varname>desc_time_order</varname> to 1.
1166
+			</para>
1167
+
1168
+		</section>
1169
+
1148 1170
 	    <section>
1149 1171
 		<title>Authentication Policy: Prevention of Unauthorized Domain 
1150 1172
 		    Name Use in From and More</title>
... ...
@@ -1261,7 +1283,7 @@ if (to me):
1261 1283
 		    in many network settings: it is not clear for whom a call to
1262 1284
 		    voicemail is. If voicemail is identified by a single number,
1263 1285
 		    which is then put in INVITE's URI, there is no easy way to
1264
-		    learn for whom a message should be recorded. PBX voicemail
1286
+		    learn for whom a message should be recorded. PBX voicemails
1265 1287
 		    utilize that PSTN protocols signal the number of originally
1266 1288
 		    called party. If you wish to make the PBX voicemail work,
1267 1289
 		    you need to convey the number in SIP and translate it in
... ...
@@ -1406,7 +1428,7 @@ if (to me):
1406 1428
 			    <application moreinfo="none">ser</application> will complain.
1407 1429
 			    Anytime any of <command moreinfo="none">t_newtran</command>,
1408 1430
 			    <command moreinfo="none">t_relay</command> or 
1409
-			    <command moreinfo="none">t_relay_to</command> actions is
1431
+			    <command moreinfo="none">t_relay_to_udp</command> actions is
1410 1432
 			    encountered, tm attempts to instantiate a transaction.
1411 1433
 			    Doing so twice fails. Make sure that any of this
1412 1434
 			    commands is called only once during script execution.
... ...
@@ -240,35 +240,33 @@ route[2] {
240 240
 		</listitem>
241 241
 		<listitem>
242 242
 		    <para>
243
-			<command>reply_route</command> is used to restart request processing
243
+			<command>failure_route</command> is used to restart request processing
244 244
 			when a negative reply for a previously relayed request is received. It is only
245 245
 			used along with tm module, which stores the original requests and
246 246
 			can return to their processing later. To activate processing
247
-			of a <command>reply_route</command> block, call the TM action
248
-			<command>t_on_negative(route_number)</command> before calling
247
+			of a <command>failure_route</command> block, call the TM action
248
+			<command>t_on_failure(route_number)</command> before calling
249 249
 			<command moreinfo="none">t_relay</command>. When a negative reply
250
-			comes back, the desired <command moreinfo="none">reply_route</command>
250
+			comes back, the desired <command moreinfo="none">failure_route</command>
251 251
 			will be entered and processing of the original request may
252 252
 			continue. 
253 253
 			</para>
254 254
 		    <para>
255 255
 			The set of actions applicable from within
256
-			<command moreinfo="none">reply_route</command> blocks is limited.
256
+			<command moreinfo="none">failure_route</command> blocks is limited.
257 257
 			Permitted actions are URI-manipulation actions, logging and
258 258
 			sending stateful replies using <command moreinfo="none">t_reply</command>.
259
-			Use of other actions may lead to
260
-			unpredictable results. (We plan to add syntactical checks in the future
261
-			so that improper action use will be detected during server start-up.)
262 259
 		    </para>
263 260
 		    <example>
264
-			<title>reply_route</title>
261
+			<title>failure_route</title>
265 262
 			<programlisting format="linespecific">
266
-reply_route[1] {
263
+failure_route[1] {
267 264
     # for some reason, the original forwarding attempt
268 265
     # failed, try at another URI
269 266
     append_branch("sip:nonsense@iptel.org");
270
-    # if this new attempt fails too, try another reply_route
271
-    t_on_negative("2");
267
+    # if this new attempt fails too, try another failure_route
268
+    t_on_failure("2");
269
+	t_relay();
272 270
 }
273 271
 </programlisting>
274 272
 		    </example>
... ...
@@ -675,17 +673,35 @@ if (len_gt(1024)) {
675 673
 				acc
676 674
 			    </emphasis>
677 675
 			    -- call accounting using <application moreinfo="none">syslog</application> facility.
676
+				RADIUS and mysql support can be compiled in.
678 677
 			    Depends on tm.
679 678
 			</para>
680 679
 		    </listitem>
681 680
 		    <listitem>
682 681
 			<para>
683 682
 			    <emphasis>
684
-				auth
683
+				auth, auth_db, auth_radius
685 684
 			    </emphasis>
686 685
 			    -- digest authentication. Depends on sl and mysql.
687 686
 			</para>
688 687
 		    </listitem>
688
+
689
+			<listitem>
690
+				<para>
691
+					<emphasis>domain</emphasis> -- checks URIs whether they belong
692
+					in a list of served domains or not.
693
+				</para>
694
+			</listitem>
695
+
696
+
697
+
698
+			<listitem>
699
+				<para>
700
+					<emphasis>ENUM</emphasis> -- E.164 phone number resolution using ENUM.
701
+				</para>
702
+			</listitem>
703
+
704
+
689 705
 		    <listitem>
690 706
 			<para>
691 707
 			    <emphasis>
... ...
@@ -694,6 +710,16 @@ if (len_gt(1024)) {
694 710
 			    -- execution of shell programs.
695 711
 			</para>
696 712
 		    </listitem>
713
+
714
+		    <listitem>
715
+			<para>
716
+			    <emphasis>
717
+				group, group_radius
718
+			    </emphasis>
719
+			    -- checks membership of users in groups
720
+			</para>
721
+		    </listitem>
722
+
697 723
 		    <listitem>
698 724
 			<para>
699 725
 			    <emphasis>
... ...
@@ -717,6 +743,7 @@ if (len_gt(1024)) {
717 743
 			-- message silo. Store for undelivered instant messages. Depends on tm and mysql.
718 744
 			    </para>
719 745
 		    </listitem>
746
+
720 747
 		    <listitem>
721 748
 			<para>
722 749
 			    <emphasis>
... ...
@@ -725,6 +752,25 @@ if (len_gt(1024)) {
725 752
 			    -- mysql database back-end.
726 753
 			    </para>
727 754
 		    </listitem>
755
+
756
+		    <listitem>
757
+			<para>
758
+			    <emphasis>
759
+					nathelper	
760
+			    </emphasis>
761
+			    -- facilitates NAT traversal for symmetric SIP phones such as ATA.
762
+			    </para>
763
+		    </listitem>
764
+
765
+		    <listitem>
766
+			<para>
767
+			    <emphasis>
768
+					pa
769
+			    </emphasis>
770
+			    -- presence agent
771
+			    </para>
772
+		    </listitem>
773
+
728 774
 		    <listitem>
729 775
 			<para>
730 776
 			    <emphasis>
... ...
@@ -758,22 +804,30 @@ if (len_gt(1024)) {
758 804
 			    -- SIMPLE/SMS gateway. Depends on tm. Takes special hardware.
759 805
 			</para>
760 806
 		    </listitem>
761
-		    <listitem>
807
+			<listitem>
808
+			<para>
809
+				<emphasis>textops</emphasis> -- textual database back-end.
810
+			</para>
811
+			</listitem>
812
+				
813
+		    <listitem>			
762 814
 			<para>
763 815
 			    <emphasis>
764
-				textops
816
+				tm
765 817
 			    </emphasis>
766
-			    -- textual request operations.
818
+			    -- transaction manager (stateful processing).
767 819
 			</para>
768 820
 		    </listitem>
821
+
769 822
 		    <listitem>			
770 823
 			<para>
771 824
 			    <emphasis>
772
-				tm
825
+				uri, uri_radius
773 826
 			    </emphasis>
774
-			    -- transaction manager (stateful processing).
827
+			    -- checks digest identity against header URIs or a database list
775 828
 			</para>
776 829
 		    </listitem>
830
+
777 831
 		</itemizedlist>
778 832
 	    </para>
779 833
 	    <para>
... ...
@@ -823,7 +877,7 @@ if (len_gt(1024)) {
823 877
 				check_from
824 878
 			    </entry>
825 879
 			    <entry>
826
-				auth
880
+				uri
827 881
 			    </entry>
828 882
 			    <entry>
829 883
 				none
... ...
@@ -837,7 +891,7 @@ if (len_gt(1024)) {
837 891
 				check_to
838 892
 			    </entry>
839 893
 			    <entry>
840
-				auth
894
+				uri
841 895
 			    </entry>
842 896
 			    <entry>
843 897
 				none
... ...
@@ -876,27 +930,12 @@ if (len_gt(1024)) {
876 930
 				to its input
877 931
 			    </entry>
878 932
 			</row>
879
-			<row>
880
-			    <entry>
881
-				is_in_group
882
-			    </entry>
883
-			    <entry>
884
-				auth
885
-			    </entry>
886
-			    <entry>
887
-				group name
888
-			    </entry>
889
-			    <entry>
890
-				check if a user, as identified by digest credentials, 
891
-				is a member of a group`
892
-			    </entry>
893
-			</row>
894 933
 			<row>
895 934
 			    <entry>
896 935
 				is_user
897 936
 			    </entry>
898 937
 			    <entry>
899
-				auth
938
+				uri
900 939
 			    </entry>
901 940
 			    <entry>
902 941
 				user id
... ...
@@ -1011,7 +1050,7 @@ if (len_gt(1024)) {
1011 1050
 				rr
1012 1051
 			    </entry>
1013 1052
 			    <entry>
1014
-				loose routing (1=on, 0=off)
1053
+				none
1015 1054
 			    </entry>
1016 1055
 			    <entry>
1017 1056
 				record-route a request
... ...
@@ -1109,16 +1148,16 @@ if (len_gt(1024)) {
1109 1148
 
1110 1149
 			<row>
1111 1150
 			    <entry>
1112
-				t_on_negative
1151
+				t_on_failure
1113 1152
 			    </entry>
1114 1153
 			    <entry>
1115 1154
 				tm
1116 1155
 			    </entry>
1117 1156
 			    <entry>
1118
-				reply_route number
1157
+				failure_route number
1119 1158
 			    </entry>
1120 1159
 			    <entry>
1121
-				set reply_route block which shall be entered if stateful
1160
+				set failure_route block which shall be entered if stateful
1122 1161
 				forwarding fails
1123 1162
 			    </entry>
1124 1163
 			</row>
... ...
@@ -134,7 +134,7 @@
134 134
     picture of a network with all components in it and routes
135 135
     to it, which correlate to a script; after the picture,
136 136
 	explanation of each route's specifics should be given
137
-    (use of auth, aaa, t_on_negative, etc.)
137
+    (use of auth, aaa, t_on_failure, etc.)
138 138
 
139 139
     when already doing the pictures, one should make one of the
140 140
     state machine for tm programmer's guide too