<?xml version="1.0" encoding="ISO-8859-1"?>

<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook V3.1//EN"
     [
<!ENTITY bearerboxchapter SYSTEM "arch-bearerbox.xml">
<!ENTITY externalschapter SYSTEM "arch-externalinterfaces.xml">
<!ENTITY internalschapter SYSTEM "arch-internals.xml">
<!ENTITY intercomponentchapter SYSTEM "arch-intercomponent.xml">
<!ENTITY requirementschapter SYSTEM "arch-requirements.xml">
<!ENTITY smsboxchapter SYSTEM "arch-smsbox.xml">
<!ENTITY wapboxchapter SYSTEM "arch-wapbox.xml">
<!ENTITY bibliography SYSTEM "arch-bib.xml">

<!ENTITY figtype "#FIGTYPE#">
<!ENTITY timestamp "#DATE#">
<!ENTITY version "#VERSION#">
]>


<book>

<bookinfo>
	<title>Kannel: Open Source WAP and SMS Gateway &version;</title>
	<subtitle>Architecture and Design</subtitle>
	<authorgroup>
		<author>
			<firstname>Lars</firstname>
			<surname>Wirzenius</surname>
			<affiliation>
				<jobtitle>Gateway architect</jobtitle>
				<orgname>Wapit Ltd</orgname>
				<address>
				<email>liw@wapit.com</email>
				<otheraddr>http://www.wapit.com</otheraddr>
				<otheraddr>http://www.kannel.org</otheraddr>
				</address>
			</affiliation>
		</author>
		<author>
			<firstname>Kalle</firstname>
			<surname>Marjola</surname>
			<affiliation>
				<jobtitle>Gateway specialist</jobtitle>
				<orgname>Wapit Ltd</orgname>
				<address>
				<email>rpr@wapit.com</email>
				</address>
			</affiliation>
		</author>
	</authorgroup>
	<abstract>
		<title>Abstract</title>
		<para>This document describes the software architecture
		of Kannel, the Open Source WAP Gateway being produced
		by Wapit Ltd.  It is meant for programmers wishing to
		understand or modify the gateway.
		</para>
	</abstract>
</bookinfo>


&requirementschapter;
&externalschapter;
&internalschapter;
&intercomponentchapter;
&bearerboxchapter;
&smsboxchapter;
&wapboxchapter;
&bibliography;


<chapter>
<title>DRAFT: Open issues</title>

	<para>To be maintained by Lars, mainly.</para>

	<para><literallayout>These are some of the open issues:

how to avoid making the bearer box a performance bottle neck
how components are started (needs to be convenient)
c/m/c
implementation order
terminal/user identification, authentication, billing
sms/wap boxes use heartbeat to inform their load to the bearer box
centralized configuration? how little config can sb/wb get away with?
add host/thread/data structure/code module legends to figure
/cgi-bin/sendsms? which box?
tid caching, validation, verification: esp. how this is done with many 
    wap boxes
tid generation at gateway: needs to be monotonous even with many wb's?
</literallayout>
</para>


</chapter>


</book>

