<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" 
   "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">

<section id="sms" xmlns:xi="http://www.w3.org/2001/XInclude">
    <sectioninfo>
	<authorgroup>
	    <author>
		<firstname>Bogdan</firstname>
		<surname>Iancu</surname>
		<affiliation><orgname>FhG FOKUS</orgname></affiliation>
		<address>
		    <email>iancu@fokus.fraunhofer.de</email>
		</address>
	    </author>
	</authorgroup>
	<copyright>
	    <year>2003</year>
	    <holder>FhG FOKUS</holder>
	</copyright>
	<revhistory>
	    <revision>
		<revnumber>$Revision: 1.3 $</revnumber>
		<date>$Date: 2005/08/24 22:26:20 $</date>
	    </revision>
	</revhistory>
    </sectioninfo>

    <title>SMS Module</title>

    <section id="sms.overview">
	<title>Overview</title>
	<para>
	    This module provides a way of communication between SIP network
	    (via SIP MESSAGE) and <acronym>GSM</acronym> networks (via
	    ShortMessageService). Communication is possible from SIP to
	    <acronym>SMS</acronym> and vice versa. The module provides
	    facilities like <acronym>SMS</acronym> confirmation--the gateway
	    can confirm to the SIP user if his message really reached its
	    destination as a <acronym>SMS</acronym>--or multi-part messages--if
	    a SIP messages is too long it will be split and sent as multiple
	    <acronym>SMS</acronym>.
	</para>
	<para>
	    Errors occurred because of an invalid number or a too long message
	    or because of an internal modem malfunction are reported back to
	    the SIP user via a SIP message containing explanations
	    regarding the error.
	</para>

	<section id="hw_requirements">
	    <title>Hardware Requirements</title>
	    <para>
		The <acronym>SMS</acronym> module needs a
		<acronym>GSM</acronym> modem to be able to send/receive the
		<acronym>SMS</acronym> messages.  Usually, this kind of modems
		are externals, linked to the machine via serial cable. The
		modem can be a dedicated one (as the ones provided by FALCOM)
		or can be a <acronym>GSM</acronym> telephone that has an
		internal modem (as the latest mobile phones from NOKIA and
		ERICSSON).
	    </para>
	</section>

	<section id="numbering_plan">
	    <title>Numbering Plan</title>
	    <para>
		The gateway accepts and advertises phone numbers in
		international format, more specific like: +(international
		code)(area code)(number). Ex: Germany, D1 = +49 170 5678181
		Romania, Connex = +40 722 123456 A number in this format is
		expected to be placed as username into <acronym>RURI</acronym>
		or in the To header. If <acronym>RURI</acronym> misses the
		username, the To header will be consider. Also, the gateway
		will advertise in this format the username in Contact headers
		(in SIP replies and requests) and in From headers (in SIP
		requests).
	    </para>
	</section>

	<section id="address_mapping">
	    <title>Address Mapping</title>
	    <para>
		To identify the destination number of the
		<acronym>SMS</acronym>, the gateway expects to have a mobile
		number in username of the SIP destination address (for example
		sip:+401704678811@iptel.org). For the reverse direction,
		because the gateway has only one <acronym>GSM</acronym> number,
		the destination SIP address has to be encapsulated into the
		<acronym>SMS</acronym> body. The gateway expects to find a SIP
		address at the beginning of the <acronym>SMS</acronym> body in
		"sip:user.host" format. Everything before the SIP address will
		be discarded, the useful text begins exactly after the address
		(for example SMS="For sip:user@host hello world!!" ->
		SIP="hello world") In order to facilitate replying, the gateway
		sends all the <acronym>SMS</acronym> messages with a header
		containing the source SIP address in the following format:
		"From sip:user@host (if you reply DONOT remove
		it)&lt;new_line&gt;". When an <acronym>SMS</acronym>-reply is
		received having this header (all of it or truncated at the
		end), the header will be left out (it will not be in the SIP
		message).
	    </para>
	</section>
    </section>

    <section id="sms.dep">
	<title>Dependencies</title>
	<para>
	    The following modules must be loaded before this module:
	    <itemizedlist>
		<listitem>
		    <para>
			<emphasis>tm</emphasis> - Transaction Manager.
		    </para>
		</listitem>
	    </itemizedlist>
	</para>
    </section>

    <xi:include href="params.xml"/>
    <xi:include href="functions.xml"/>

</section>
