Revision: 0380462fc214
Author:   Vinu S Renish <[email protected]>
Date:     Sat Jan 12 11:17:08 2013
Log:      issue 223

http://code.google.com/p/jss7/source/detail?r=0380462fc214

Modified:
 /docs/sources/src/main/resources/en-US/Chapter-Source_Build_Binary.xml
 /docs/sources/src/main/resources/en-US/Chapter-TCAP.xml

=======================================
--- /docs/sources/src/main/resources/en-US/Chapter-Source_Build_Binary.xml Fri Sep 7 03:30:26 2012 +++ /docs/sources/src/main/resources/en-US/Chapter-Source_Build_Binary.xml Sat Jan 12 11:17:08 2013
@@ -662,9 +662,10 @@
                         <title>Configuring TCAP</title>
                         <para>
<literal>TcapStack</literal> initiates the TCAP stack routines. Respective TCAP stack beans are instantiated for each <literal>MAP</literal>, <literal>CAP</literal> - Service. If you are using either one, feel free to delete other. + Service. If you are using either one, feel free to delete the other.
                         </para>
- <programlisting language="XML" role="XML"><![CDATA[ <!-- ==================================================================== -->
+                        <programlisting language="XML" role="XML"><![CDATA[
+ <!-- ==================================================================== -->
        <!-- TCAP Service -->
<!-- ==================================================================== --> <bean name="TcapStackMap" class="org.mobicents.protocols.ss7.tcap.TCAPStackImpl">
@@ -708,48 +709,77 @@
                         </para>

                         <para>
-                                Stack has following properties:
+ TCAP Stack has following configurable properties:
                                 <variablelist>
                                         <varlistentry>
- <term>dialogIdleTimeout</term> + <term>dialogIdleTimeout: public void setDialogIdleTimeout(long l);</term>
                                                 <listitem>
- <para>The TCAP Dialog idle timeout in milli-seconds </para> + <para>This property specifies how long a dialog can be idle (i.e. not receive/send any messages) before a timeout occurs. The value is specified in milliseconds. When a timeout occurs the method <literal>TCListener.onDialogTimeout()</literal> will be invoked. If a TCAP-User does not invoke <literal>Dialog.keepAlive()</literal> inside the method <literal>TCListener.onDialogTimeout()</literal>, the TCAP Dialog will be released.</para>
                                                 </listitem>
                                         </varlistentry>
                                         <varlistentry>
-                                                <term>invokeTimeout</term>
+ <term>invokeTimeout: public void setInvokeTimeout(long l);</term>
                                                 <listitem>
+ <para>This property specifies, by default, how long Invoke will wait for a response from a peer before a timeout occurs. The value is specified in milliseconds. If a TCAP-User does not specify a custom Invoke timeout when sending a new Invoke, this default value will be used for outgoing Invoke timeout. When this timeout occurs <literal>TCListener.onInvokeTimeout()</literal> will be invoked.
+                                                        </para>
+                                                </listitem>
+                                        </varlistentry>
+                                       <varlistentry>
+ <term>maxDialogs: public void setMaxDialogs(int v); </term>
+                                                <listitem>
                                                         <para>
- Component invoke timeout value in milli-seconds +This property specifes the maximum number of concurrent dialogs allowed to be alive at any point of time. If this property is not set, a default value of 5000 dialogs will be used. If an application attempts to create more dialogs than this maximum number specified, an Exception is thrown.
                                                         </para>
                                                 </listitem>
-                                        </varlistentry>
+                                        </varlistentry>
+
+
                                         <varlistentry>
- <term>dialogIdRangeStart</term> + <term>dialogIdRangeStart: public void setDialogIdRangeStart(long val);</term>
                                                 <listitem>
- <para>All the outgoing Dialog will have id started with dialogIdRangeStart. dialogIdRangeStart cannt be greater than dialogIdRangeEnd </para>
+                                                        <para>
+TCAP stack can be configured to use a range of local DialogId values. You may install a set of TCAP Stack instances with different DialogId ranges. These ranges can be used for loadsharing of SS7 traffic between the TCAP instances. +All the outgoing Dialogs will have id starting with <literal>dialogIdRangeStart</literal>. This value of <literal>dialogIdRangeStart</literal> cannt be greater than <literal>dialogIdRangeEnd</literal>. In addition, the value of <literal>dialogIdRangeEnd - dialogIdRangeStart</literal> must always be less than the value of <literal>maxDialogs</literal>. </para>
                                                 </listitem>
                                         </varlistentry>
                                         <varlistentry>
- <term>dialogIdRangeEnd</term> + <term>dialogIdRangeEnd: public void setDialogIdRangeStart(long val);</term>
                                                 <listitem>
                                                         <para>
- All the outgoing Dialog will have id started with dialogIdRangeStart and incremented by 1 for each new outgoing dialog till dialogIdRangeEnd. After this - dialog is will again start from dialogIdRangeStart value. + All the outgoing Dialogs will have id starting with <literal>dialogIdRangeStart</literal> and incremented by 1 for each new outgoing dialog till <literal>dialogIdRangeEnd</literal>. After this, + dialog will again start from the value of<literal>dialogIdRangeStart</literal>.
                                                         </para>
                                                 </listitem>
-                                       </varlistentry>
+                                       </varlistentry>
                                         <varlistentry>
-                                                <term>maxDialogs</term>
+ <term>previewMode: public void setPreviewMode(boolean val);</term>
                                                 <listitem>
                                                         <para>
- Maximum concurrent dialog's allowed at any given point of time. If application tries to create more dialog than this, exception is thrown. - dialogIdRangeEnd - dialogIdRangeStart must alwasy be less than maxDialogs + PreviewMode is needed for special processing mode. By default TCAP is not set in PreviewMode. When PreviewMode set in TCAP level:
+<itemizedlist>
+       <listitem>
+ <para>Stack only listens for incoming messages and does not send anything. The methods <literal>send()</literal>, + <literal>close()</literal>, <literal>sendComponent()</literal> and other such methods do nothing.</para>
+       </listitem>
+       <listitem>
+               <para>A TCAP Dialog is temporary. TCAP Dialog is discarded 
after any
+   incoming message like TC-BEGIN or TC-CONTINUE has been processed.</para>
+       </listitem>
+       <listitem>
+               <para>For any incoming messages (including TC-CONTINUE, TC-END, 
TC-ABORT)
+   a new TCAP Dialog is created (and then deleted).</para>
+       </listitem>
+       <listitem>
+               <para>There are no timers and timeouts.</para>
+       </listitem>
+</itemizedlist>
                                                         </para>
                                                 </listitem>
-                                        </varlistentry>
+                                       </varlistentry>
                                 </variablelist>
                         </para>
+
+
                 </section>

                 <section id="configuring_MAP">
=======================================
--- /docs/sources/src/main/resources/en-US/Chapter-TCAP.xml Sat Jan 12 07:27:02 2013 +++ /docs/sources/src/main/resources/en-US/Chapter-TCAP.xml Sat Jan 12 11:17:08 2013
@@ -12,27 +12,27 @@
        <para>
The Transaction Capabilities Application Part (TCAP) is defined in ITU-T Recommendations Q.771-Q.775. TCAP allows services at network nodes to communicate with each other using an agreed-upon set of data elements. - Its primary purpose is to facilitate multiple concurrent dialogs between the same sub-systems on the same machines, + The primary purpose of TCAP is to facilitate multiple concurrent dialogs between the same sub-systems on the same machines, using Transaction IDs to differentiate these, similar to the way TCP ports facilitate multiplexing connections between
                the same IP addresses on the Internet.
        </para>
        <section>
                <title>&THIS.PLATFORM; &THIS.APPLICATION; TCAP Usage</title>
                <para>
- The <classname>org.mobicents.protocols.ss7.tcap.api.TCAPStack</classname> interface defines the methods required to represent TCAP + The <classname>org.mobicents.protocols.ss7.tcap.api.TCAPStack</classname> interface defines the methods required to represent the TCAP Protocol Stack. TCAPStack exposes <classname>org.mobicents.protocols.ss7.tcap.api.TCAPProvider</classname> that interacts directly - with TCAPStack. TCAPProvider defines methods that will be used by TCAP User Part to create new - <classname>org.mobicents.protocols.ss7.tcap.api.tc.dialog.Dialog</classname> to be sent across network. - TCAP User Part also allows to register<classname>org.mobicents.protocols.ss7.tcap.api.TCListener</classname> to listen TCAP messages. + with the TCAPStack. TCAPProvider defines methods that will be used by TCAP User Part to create new + <classname>org.mobicents.protocols.ss7.tcap.api.tc.dialog.Dialog</classname> to be sent across the network. + TCAP User Part also allows to register<classname>org.mobicents.protocols.ss7.tcap.api.TCListener</classname> to listen for TCAP messages.
                </para>
                <para>
TCAPProvider also exposes <classname>org.mobicents.protocols.ss7.tcap.api.DialogPrimitiveFactory</classname> to create dialog primitives and <classname>org.mobicents.protocols.ss7.tcap.api.ComponentPrimitiveFactory</classname> to create components.
-                       Components are a means of invoking an operation at a 
remote node
+                       Components are a means of invoking an operation at a 
remote node.
                </para>

                <para>
-                       The UML Class Diagram looks like
+                       The UML Class Diagram is depicted in the figure below:
                </para>


@@ -52,8 +52,8 @@
                </mediaobject>

                <para>
- The <classname>org.mobicents.protocols.ss7.tcap.TCAPStackImpl</classname> is concrete implementation of <classname>TCAPStack</classname>. - The TCAP User Part gets access to <classname>TCAPProvider</classname> by doing JNDI lookup as explained in <xref linkend="design_overview_ss7_service"/> + The <classname>org.mobicents.protocols.ss7.tcap.TCAPStackImpl</classname> is a concrete implementation of <classname>TCAPStack</classname>. + The TCAP User Part gets access to <classname>TCAPProvider</classname> by doing JNDI lookup as explained in the <xref linkend="design_overview_ss7_service"/>.
                </para>

                <programlisting
@@ -86,8 +86,8 @@
                        ]]>
                </programlisting>

- <para>The TCAP User Part leverages TCAPProvider to create new Dialog. The component's between the nodes
-               are exchanged within this Dialog
+ <para>TCAP User Part leverages <classname>TCAPProvider</classname> to create a new Dialog. The components between the nodes
+               are exchanged within this Dialog.
        </para>

        <programlisting
@@ -100,30 +100,30 @@
        </programlisting>

        <para>
- The TCAP User Part leverages ComponentPrimitiveFactory to create new components. These components are sent using the dialog + The TCAP User Part leverages <classname>ComponentPrimitiveFactory</classname> to create new components. These components are sent using the dialog.
        </para>

        <para>
-               Common scenario of using TCAP stack is:
+               Below is a list of common scenarios using the TCAP stack :
        </para>
          <itemizedlist>
                <listitem>
- <para><literal>Creating TCAP Dialog by TCAPProvider.getNewDialog() or getNewUnstructuredDialog()</literal></para> + <para>Creating a TCAP Dialog by invoking the methods <literal>TCAPProvider.getNewDialog()</literal> or <literal>getNewUnstructuredDialog()</literal></para>
                </listitem>
                <listitem>
- <para><literal>adding components into a Dialog for sending by Dialog.sendComponent();</literal></para> + <para>Adding components into a Dialog for sending by <literal>Dialog.sendComponent();</literal></para>
                </listitem>
                <listitem>
- <para><literal>sending a TCAP message TC-UNI, TC-BEGIN, TC-CONTINUE, TC-END or TC-ABORT via Dialog.send() methods</literal></para> + <para>Sending a TCAP message TC-UNI, TC-BEGIN, TC-CONTINUE, TC-END or TC-ABORT via <literal>Dialog.send()</literal> methods.</para>
                </listitem>
                <listitem>
-                       <para><literal>waiting for responses of a 
peer</literal></para>
+                       <para>Waiting for responses from a peer</para>
                </listitem>
                <listitem>
- <para><literal>when TCAP stack receives a message from a peer events like TCListener.onTCUni(), onTCBegin(), onTCContinue(), onTCEnd(), onTCUserAbort(), onTCPAbort() will be invoked</literal></para> + <para>When the TCAP stack receives a message from a peer, events like <literal>TCListener.onTCUni()</literal>, <literal>onTCBegin()</literal>, <literal>onTCContinue()</literal>, <literal>onTCEnd()</literal>, <literal>onTCUserAbort()</literal>, <literal>onTCPAbort()</literal> will be invoked.</para>
                </listitem>
                <listitem>
- <para><literal>after an Invoke component is received a TCAP user should process it and</literal></para> + <para>After an Invoke component is received, a TCAP-User should process it and do one of the below:</para>
                         <itemizedlist>
                                <listitem>
                                        <para>
@@ -137,7 +137,7 @@
                                </listitem>
                                <listitem>
                                        <para>
- invoke Dialog.processInvokeWithoutAnswer() method if TCAP uses will not answer to the Invoke + invoke Dialog.processInvokeWithoutAnswer() method if TCAP-Users will not answer to the Invoke.
                                        </para>
                                </listitem>
                         </itemizedlist>
@@ -163,7 +163,7 @@

        <section>
                <title>&THIS.PLATFORM; &THIS.APPLICATION; TCAP User Part 
Example</title>
- <para>Below is TCAP User Part example. This example creates dialog and exchanges messages withing structured dialog. Refer to source for function calls: + <para>Below is a TCAP User Part example. This example creates a dialog and exchanges messages within a structured dialog. Refer to source for function calls.
                </para>
        <programlisting
                language="Java"

Reply via email to