<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>NowSMS</title>
	<atom:link href="http://www.nowsms.com/feed" rel="self" type="application/rss+xml" />
	<link>http://www.nowsms.com</link>
	<description>SMS Gateway, SMS Server Software, MMS Gateway &#38; MMSC</description>
	<lastBuildDate>Fri, 17 May 2013 20:01:34 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>Mobile Operator MMSC APN &amp; Settings (Updated)</title>
		<link>http://www.nowsms.com/mobile-operator-mmsc-settings</link>
		<comments>http://www.nowsms.com/mobile-operator-mmsc-settings#comments</comments>
		<pubDate>Sun, 21 Apr 2013 11:30:00 +0000</pubDate>
		<dc:creator>bryce</dc:creator>
				<category><![CDATA[Support Blog]]></category>
		<category><![CDATA[GPRS modem]]></category>
		<category><![CDATA[MM1]]></category>
		<category><![CDATA[MMS via modem]]></category>
		<category><![CDATA[operator MMSC]]></category>

		<guid isPermaLink="false">http://www.nowsms.co.uk/?p=66</guid>
		<description><![CDATA[The Now SMS &#38; MMS Gateway can use a GSM/GPRS or 3G/UMTS/WCDMA modem to send and receive MMS messages via an operator MMSC. In this type of configuration, there is no special setup requirement required by the mobile operator. The Now SMS &#38; MMS Gateway sends and receives MMS messages using the same protocol that [...]]]></description>
				<content:encoded><![CDATA[<p>The Now SMS &amp; MMS Gateway can use a GSM/GPRS or 3G/UMTS/WCDMA modem to send and receive MMS messages via an operator MMSC. In this type of configuration, there is no special setup requirement required by the mobile operator. The Now SMS &amp; MMS Gateway sends and receives MMS messages using the same protocol that is used by the MMS client in a mobile phone, so it simply requires that the SIM card in your mobile phone be provisioned by your mobile operator for MMS support.</p>
<p>However, in order to make this work, you need to configure NowSMS with the appropriate MMS settings for the mobile operator whose SIM card is being used in the GSM modem.</p>
<p>To simplify this process, we include a list of settings for many mobile operators that can be selected from a drop down list within the NowSMS configuration.</p>
<p>However, it has been awhile since we last updated that list, so you might find that your mobile operator is not included in the list.</p>
<p>This post contains an updated list of mobile operator MMSC settings. You can also download this list in a NowSMS compatible format from <a href="http://www.nowsms.com/download/mmsop.ini">http://www.nowsms.com/download/mmsop.ini</a>. Save the &#8220;mmsop.ini&#8221; file to your NowSMS program directory (usually \Program Files\NowSMS or \Program Files (x86)\NowSMS, and NowSMS will automatically use the updated list.</p>
<p>In the following table, note that most versions of NowSMS refers to the &#8220;MMS Proxy&#8221; setting as the &#8220;WAP Gateway Address&#8221;.  If this address includes a port number (address:port), versions of NowSMS prior to 2013 releases require the address to be prefixed by http:// (for example http://10.1.2.3:8080).</p>
<p>For more information on configuring NowSMS to send MMS messages via a modem, please see: <a href="http://www.nowsms.com/doc/mmsc-messaging-server/connecting-to-an-operator-mmsc/using-a-gprs-modem">Using a GPRS Modem</a>.</p>
<style type="text/css"><!--
.apnlist b {color: #ffffff;} .apnlist table {background-color: #d6e4e9; border-color: #ffffff; color: #215b87;border: 1px solid white;} .apnlist td {border: 1px solid white;} .apnlistheader {background-color: #215b87; color: #ffffff}
--></style>
<div class="apnlist" style="z-index: 10; position: relative; width: 960px; left: -30px;">
<table cellspacing="1" cellpadding="1">
<tbody>
<tr>
<td class="apnlistheader" valign="top"><b>Country</b></td>
<td class="apnlistheader" valign="top"><b>Operator</b></td>
<td class="apnlistheader" valign="top"><b>APN</b></td>
<td class="apnlistheader" valign="top"><b>MMS Proxy</b></td>
<td class="apnlistheader" valign="top"><b>MMSC Server URL</b></td>
<td class="apnlistheader" valign="top"><b>Username</b></td>
<td class="apnlistheader" valign="top"><b>Password</b></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Albania</b></td>
<td valign="top">AMC</td>
<td valign="top">mms</td>
<td valign="top">10.10.10.20:8080</td>
<td valign="top">http://195.167.65.220:8002</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Albania</b></td>
<td valign="top">Vodafone</td>
<td valign="top">vfalmms</td>
<td valign="top">10.0.9.2:8080</td>
<td valign="top">http://mmsc.vodafone.al</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Algeria</b></td>
<td valign="top">Djezzy</td>
<td valign="top">djezzy.mms</td>
<td valign="top">172.24.97.158:8080</td>
<td valign="top">http://172.24.97.152:10021/mmsc</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Algeria</b></td>
<td valign="top">Nedjma</td>
<td valign="top">nedjmamms</td>
<td valign="top">192.168.52.3:3128</td>
<td valign="top">http://10.10.111.1</td>
<td valign="top">mms</td>
<td valign="top">mms</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Andorra</b></td>
<td valign="top">STA</td>
<td valign="top">mms</td>
<td valign="top">192.168.21.50:8080</td>
<td valign="top">http://mms.ad/mmsc</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Anguilla</b></td>
<td valign="top">Cable and Wireless</td>
<td valign="top">internet</td>
<td valign="top">10.20.5.34:8080</td>
<td valign="top">http://mmsc</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Anguilla</b></td>
<td valign="top">Lime</td>
<td valign="top">multimedia</td>
<td valign="top">10.20.5.34:8799</td>
<td valign="top">http://mmsc</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Antigua &amp; Barbuda</b></td>
<td valign="top">Cable and Wireless</td>
<td valign="top">internet</td>
<td valign="top">10.20.5.34:8080</td>
<td valign="top">http://mmsc</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Antigua &amp; Barbuda</b></td>
<td valign="top">Digicel</td>
<td valign="top">wap.digicelantigua.com</td>
<td valign="top">172.16.7.12:8080</td>
<td valign="top">http://mmc.digiceljamaica.com/servlets/mms</td>
<td valign="top">wapant</td>
<td valign="top">wapant</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Antigua &amp; Barbuda</b></td>
<td valign="top">Lime</td>
<td valign="top">multimedia</td>
<td valign="top">10.20.5.34:8799</td>
<td valign="top">http://mmsc</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Argentina</b></td>
<td valign="top">CTI Movil</td>
<td valign="top">mms.ctimovil.com.ar</td>
<td valign="top">170.51.255.240:8080</td>
<td valign="top">http://mms.ctimovil.com.ar</td>
<td valign="top">ctimms</td>
<td valign="top">ctimms999</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Argentina</b></td>
<td valign="top">Personal</td>
<td valign="top">mms</td>
<td valign="top">172.25.7.31:8080</td>
<td valign="top">http://172.25.7.31</td>
<td valign="top">mms</td>
<td valign="top">mms</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Argentina</b></td>
<td valign="top">Movistar (Unifon)</td>
<td valign="top">mms.gprs.unifon.com.ar</td>
<td valign="top">200.68.32.239:8080</td>
<td valign="top">http://mms.movistar.com.ar</td>
<td valign="top">mms</td>
<td valign="top">mms</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Aruba</b></td>
<td valign="top">Digicel</td>
<td valign="top">wap.digicelaruba.com</td>
<td valign="top">172.16.7.12:8080</td>
<td valign="top">http://mmc.digiceljamaica.com/servlets/mms</td>
<td valign="top">waparuba</td>
<td valign="top">wap03aruba</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Aruba</b></td>
<td valign="top">Setar</td>
<td valign="top">mms.setar.aw</td>
<td valign="top">209.88.130.210:8080</td>
<td valign="top">http://mms.setar.aw</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Australia</b></td>
<td valign="top">Lebara</td>
<td valign="top">purtona.wap</td>
<td valign="top">10.202.2.20:8080</td>
<td valign="top">http://purtona.mms/mmssend</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Australia</b></td>
<td valign="top">Optus</td>
<td valign="top">mms</td>
<td valign="top">61.88.190.10:8070</td>
<td valign="top">http://mmsc.optus.com.au:8002</td>
<td valign="top">411</td>
<td valign="top">optus</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Australia</b></td>
<td valign="top">Telstra</td>
<td valign="top">telstra.mms</td>
<td valign="top">10.1.1.180:80</td>
<td valign="top">http://10.0.3.70:8002</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Australia</b></td>
<td valign="top">Virgin</td>
<td valign="top">VirginInternet</td>
<td valign="top">202.139.83.152:8070</td>
<td valign="top">http://mms.virginvibe.com.au:8002</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Australia</b></td>
<td valign="top">Vodafone</td>
<td valign="top">live.vodafone.com</td>
<td valign="top">10.202.2.60:8080</td>
<td valign="top">http://pxt.vodafone.net.au/pxtsend</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Australia</b></td>
<td valign="top">3</td>
<td valign="top">3services</td>
<td valign="top">10.176.57.25:8799</td>
<td valign="top">http://mmsc.three.net.au:10021/mmsc</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Austria</b></td>
<td valign="top">A1 MobilKom</td>
<td valign="top">A1.net</td>
<td valign="top">194.48.124.71:8001</td>
<td valign="top">http://mmsc.A1.net</td>
<td valign="top">ppp@A1plus.at</td>
<td valign="top">ppp</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Austria</b></td>
<td valign="top">One</td>
<td valign="top">web.one.at</td>
<td valign="top">194.24.128.118:8080</td>
<td valign="top">http://mmsc.one.at/mms/wapenc</td>
<td valign="top">wap</td>
<td valign="top">wap</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Austria</b></td>
<td valign="top">T-Mobile</td>
<td valign="top">gprsinternet</td>
<td valign="top">10.12.0.2:80</td>
<td valign="top">http://mmsc.t-mobile.at/servlets/mms</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Austria</b></td>
<td valign="top">Drei</td>
<td valign="top">drei.at</td>
<td valign="top">213.94.78.133:8799</td>
<td valign="top">http://mmsc</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Austria</b></td>
<td valign="top">Tele Ring</td>
<td valign="top">mms</td>
<td valign="top">212.95.31.50:8080</td>
<td valign="top">http://relay.mms.telering.at</td>
<td valign="top">wap@telering.at</td>
<td valign="top">wap</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Azerbaijan</b></td>
<td valign="top">Azercell</td>
<td valign="top">mms</td>
<td valign="top">10.0.154.101:8080</td>
<td valign="top">http://mms.azercell.com/cMMSC/post</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Azerbaijan</b></td>
<td valign="top">Bakcell</td>
<td valign="top">mms</td>
<td valign="top">213.172.91.46:8080</td>
<td valign="top">http://mms.bakcell.com/mms/wapenc</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Bahrain</b></td>
<td valign="top">Batelco</td>
<td valign="top">mms.batelco.com</td>
<td valign="top">192.168.1.2:80</td>
<td valign="top">http://192.168.36.10/servlets/mms</td>
<td valign="top">wap</td>
<td valign="top">wap</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Bangladesh</b></td>
<td valign="top">Aktel</td>
<td valign="top">WAP</td>
<td valign="top">192.168.23.7:8080</td>
<td valign="top">http://192.168.23.4/wap</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Barbados</b></td>
<td valign="top">Digicel</td>
<td valign="top">wap.digicelbarbados.com</td>
<td valign="top">172.16.7.12:8080</td>
<td valign="top">http://mmc.digiceljamaica.com/servlets/mms</td>
<td valign="top">wapbarb</td>
<td valign="top">wap03barb</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Barbados</b></td>
<td valign="top">Lime</td>
<td valign="top">multimedia</td>
<td valign="top">10.20.5.34:8799</td>
<td valign="top">http://mmsc</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Belarus</b></td>
<td valign="top">Velcom</td>
<td valign="top">mms.velcom.by</td>
<td valign="top">10.200.15.15:8080</td>
<td valign="top">http://mms.velcom.by/servlets/mms</td>
<td valign="top">mms</td>
<td valign="top">mms</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Belgium</b></td>
<td valign="top">Mobistar</td>
<td valign="top">mms.be</td>
<td valign="top">212.65.63.143:8080</td>
<td valign="top">http://mmsc.mobistar.be</td>
<td valign="top">mobistar</td>
<td valign="top">mobistar</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Belgium</b></td>
<td valign="top">Mobistar (Tempo)</td>
<td valign="top">tempomms.be</td>
<td valign="top">212.65.63.143:8080</td>
<td valign="top">http://mmsc.mobistar.be</td>
<td valign="top">mobistar</td>
<td valign="top">mobistar</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Belgium</b></td>
<td valign="top">Proximus</td>
<td valign="top">event.proximus.be</td>
<td valign="top">10.55.14.75:8080</td>
<td valign="top">http://mmsc.proximus.be/mms</td>
<td valign="top">mms</td>
<td valign="top">mms</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Belgium</b></td>
<td valign="top">BASE</td>
<td valign="top">mms.base.be</td>
<td valign="top">217.72.235.1:8080</td>
<td valign="top">http://mmsc.base.be</td>
<td valign="top">base</td>
<td valign="top">base</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Bolivia</b></td>
<td valign="top">Tigo</td>
<td valign="top">mms.tigo.bo</td>
<td valign="top">172.25.100.8:8888</td>
<td valign="top">http://mms</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Bosnia &amp; Herzegowina</b></td>
<td valign="top">BH Telecom</td>
<td valign="top">mms.bhmobile.ba</td>
<td valign="top">195.222.56.41:8080</td>
<td valign="top">http://mms.bhmobile.ba/cmmsc/post</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Bosnia &amp; Herzegowina</b></td>
<td valign="top">Mobis</td>
<td valign="top">mms</td>
<td valign="top">192.168.61.11:8080</td>
<td valign="top">http://mms.065mobis.com/mms/wapenc</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Botswana</b></td>
<td valign="top">Orange</td>
<td valign="top">mms.orange.co.bw</td>
<td valign="top">10.0.0.226:8080</td>
<td valign="top">http://10.0.0.242/servlets/mms</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Brazil</b></td>
<td valign="top">Claro</td>
<td valign="top">mms.claro.com.br</td>
<td valign="top">200.169.126.10:8080</td>
<td valign="top">http://mms.claro.com.br</td>
<td valign="top">claro</td>
<td valign="top">claro</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Brazil</b></td>
<td valign="top">CTBC</td>
<td valign="top">mms.ctbc.br</td>
<td valign="top">172.29.7.70:8080</td>
<td valign="top">http://mms.ctbccelular.com.br/was</td>
<td valign="top">ctbc</td>
<td valign="top">1212</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Brazil</b></td>
<td valign="top">Oi</td>
<td valign="top">mmsgprs.oi.com.br</td>
<td valign="top">192.168.10.50:8080</td>
<td valign="top">http://200.222.42.204:8002</td>
<td valign="top">oimms</td>
<td valign="top">oioioi</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Brazil</b></td>
<td valign="top">TIM</td>
<td valign="top">mms.tim.br</td>
<td valign="top">200.179.66.242:8080</td>
<td valign="top">http://mms.tim.br</td>
<td valign="top">tim</td>
<td valign="top">tim</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Brazil</b></td>
<td valign="top">Brazil Telecom</td>
<td valign="top">mms.brt.br</td>
<td valign="top">200.96.8.29:8080</td>
<td valign="top">http://mms.brasiltelecom.com.br</td>
<td valign="top">brt</td>
<td valign="top">brt</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Brazil</b></td>
<td valign="top">Telemig</td>
<td valign="top">mmsgprs.telemigcelular.com.br</td>
<td valign="top">200.192.230.142:8080</td>
<td valign="top">http://mms.telemigcelular.com.br</td>
<td valign="top">celular</td>
<td valign="top">celular</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Brazil</b></td>
<td valign="top">VIVO</td>
<td valign="top">mms.vivo.com.br</td>
<td valign="top">200.142.130.104:8080</td>
<td valign="top">http://termnat.vivomms.com.br:8088/mms</td>
<td valign="top">vivo</td>
<td valign="top">vivo</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>British Virgin Islands</b></td>
<td valign="top">Lime</td>
<td valign="top">multimedia</td>
<td valign="top">10.20.5.34:8799</td>
<td valign="top">http://mmsc</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Brunei</b></td>
<td valign="top">DST</td>
<td valign="top">dst.mms</td>
<td valign="top">10.100.6.101:8080</td>
<td valign="top">http://mms.dst.com.bn/mmsc</td>
<td valign="top">mms</td>
<td valign="top">mms</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Bulgaria</b></td>
<td valign="top">Globul</td>
<td valign="top">mms.globul.bg</td>
<td valign="top">192.168.87.11:8080</td>
<td valign="top">http://mmsc1.mms.globul.bg:8002</td>
<td valign="top">mms</td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Bulgaria</b></td>
<td valign="top">Mtel</td>
<td valign="top">mms-gprs.mtel.bg</td>
<td valign="top">10.150.0.33:8080</td>
<td valign="top">http://mmsc</td>
<td valign="top">mtel</td>
<td valign="top">mtel</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Bulgaria</b></td>
<td valign="top">Vivacom</td>
<td valign="top">mms.vivacom.bg</td>
<td valign="top">192.168.123.123:8080</td>
<td valign="top">http://mms.vivacom.bg</td>
<td valign="top">mms</td>
<td valign="top">mms</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Cambodia</b></td>
<td valign="top">Beeline</td>
<td valign="top">mms.beeline.com.kh</td>
<td valign="top">10.18.34.135:8080</td>
<td valign="top">http://mms.beeline.com.kh/mms/wapenc</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Cambodia</b></td>
<td valign="top">Camshin</td>
<td valign="top">Camshin</td>
<td valign="top">172.16.203.85:8080</td>
<td valign="top">http://172.16.205.10:38090</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Cambodia</b></td>
<td valign="top">Hello / Smart</td>
<td valign="top">hellomms</td>
<td valign="top">10.221.41.33:8088</td>
<td valign="top">http://mmsc.tmic.com.kh/mssc</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Cambodia</b></td>
<td valign="top">Mobitel</td>
<td valign="top">mms</td>
<td valign="top">203.144.95.98:3130</td>
<td valign="top">http://mms.mobitel.com.kh/mmsc</td>
<td valign="top">mobitel</td>
<td valign="top">mobitel</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Cambodia</b></td>
<td valign="top">qb</td>
<td valign="top">MMS</td>
<td valign="top">172.16.96.66:8080</td>
<td valign="top">http://mms.qbmore.mobi</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Cameroon</b></td>
<td valign="top">Orange</td>
<td valign="top">orangecmgprs</td>
<td valign="top">192.168.122.101:8080</td>
<td valign="top">http://mms.orange.cm</td>
<td valign="top">orange</td>
<td valign="top">orange</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Canada</b></td>
<td valign="top">Bell</td>
<td valign="top">pda.bell.ca</td>
<td valign="top">web.wireless.bell.ca:80</td>
<td valign="top">http://mms.bell.ca/mms/wapenc</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Canada</b></td>
<td valign="top">Fido</td>
<td valign="top">mms.fido.ca</td>
<td valign="top">205.151.11.13:8080</td>
<td valign="top">http://mms.fido.ca</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Canada</b></td>
<td valign="top">Fido (Alternate)</td>
<td valign="top">fido-core-appl1.apn</td>
<td valign="top">205.151.11.13:80</td>
<td valign="top">http://mms.fido.ca</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Canada</b></td>
<td valign="top">Koodo</td>
<td valign="top">sp.koodo.com</td>
<td valign="top">74.49.0.18:80</td>
<td valign="top">http://aliasredirect.net/proxy/mmsc</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Canada</b></td>
<td valign="top">Rogers</td>
<td valign="top">media.com</td>
<td valign="top">10.128.1.69:80</td>
<td valign="top">http://mms.gprs.rogers.com</td>
<td valign="top">media</td>
<td valign="top">mda01</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Canada</b></td>
<td valign="top">SaskTel</td>
<td valign="top">proxy.stm.sk.ca</td>
<td valign="top">mig.sasktel.com:8080</td>
<td valign="top">http://mms.sasktel.com</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Canada</b></td>
<td valign="top">TELUS</td>
<td valign="top">sp.telus.com</td>
<td valign="top">74.49.0.18:80</td>
<td valign="top">http://aliasredirect.net/proxy/mmsc</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Canada</b></td>
<td valign="top">Virgin Mobile</td>
<td valign="top">pda.bell.ca</td>
<td valign="top">web.wireless.bell.ca:80</td>
<td valign="top">http://mms.bell.ca/mms/wapenc</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Canada</b></td>
<td valign="top">Wind</td>
<td valign="top">mms.windmobile.ca</td>
<td valign="top">74.115.197.70:8080</td>
<td valign="top">http://mms.Windmobile.ca</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Cayman Islands</b></td>
<td valign="top">Lime</td>
<td valign="top">multimedia</td>
<td valign="top">10.20.5.34:8799</td>
<td valign="top">http://mmsc</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Channel Islands</b></td>
<td valign="top">Airtel Vodafone</td>
<td valign="top">airtel-ci-mms.com</td>
<td valign="top">10.200.61.17:9401</td>
<td valign="top">http://10.200.61.17/servlets/mms</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Chile</b></td>
<td valign="top">Claro</td>
<td valign="top">mms.clarochile.cl</td>
<td valign="top">172.23.200.200:8080</td>
<td valign="top">http://mms.clarochile.cl</td>
<td valign="top">clarochile</td>
<td valign="top">clarochile</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Chile</b></td>
<td valign="top">Entel PCS</td>
<td valign="top">mms.entelpcs.cl</td>
<td valign="top">10.99.0.10:8080</td>
<td valign="top">http://mmsc.entelpcs.cl</td>
<td valign="top">entelmms</td>
<td valign="top">entelpcs</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Chile</b></td>
<td valign="top">Movistar (Telefonica)</td>
<td valign="top">mms.tmovil.cl</td>
<td valign="top">172.17.8.11:8080</td>
<td valign="top">http://mms.tmovil.cl</td>
<td valign="top">mms</td>
<td valign="top">mms</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>China</b></td>
<td valign="top">China Mobile</td>
<td valign="top">cmwap</td>
<td valign="top">10.0.0.172:8080</td>
<td valign="top">http://mmsc.monternet.com</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Columbia</b></td>
<td valign="top">Comcel</td>
<td valign="top">mms.comcel.com.co</td>
<td valign="top">198.228.90.225:8799</td>
<td valign="top">http://www.comcel.com.co/mms/</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Columbia</b></td>
<td valign="top">Movistar</td>
<td valign="top">mms.movistar.com.co</td>
<td valign="top">192.168.222.7:9001</td>
<td valign="top">http://mms.movistar.com.co</td>
<td valign="top">movistar</td>
<td valign="top">movistar</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Columbia</b></td>
<td valign="top">Tigo</td>
<td valign="top">mms.colombiamovil.com.co</td>
<td valign="top">200.58.228.81:8080</td>
<td valign="top">http://mms.tigo.com.co</td>
<td valign="top">mms-cm1900</td>
<td valign="top">mms-cm1900</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Costa Rica</b></td>
<td valign="top">Claro</td>
<td valign="top">mms.ideasclaro</td>
<td valign="top">216.230.133.66:8080</td>
<td valign="top">http://mms.ideasclaro.com:8002</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Costa Rica</b></td>
<td valign="top">ICE (Kolbi)</td>
<td valign="top">kolbi3g</td>
<td valign="top">10.184.202.24:8080</td>
<td valign="top">http://mmsice</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Croatia</b></td>
<td valign="top">T-Mobile</td>
<td valign="top">mms.htgprs</td>
<td valign="top">10.12.0.4:8080</td>
<td valign="top">http://mms.t-mobile.hr/servlets/mms</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Croatia</b></td>
<td valign="top">Tele2</td>
<td valign="top">mms.tele2.hr</td>
<td valign="top">193.12.40.66:8080</td>
<td valign="top">http://mmsc.tele2.hr</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Croatia</b></td>
<td valign="top">Tele2 (Prepaid)</td>
<td valign="top">wap.tele2.hr</td>
<td valign="top">193.12.40.66:8080</td>
<td valign="top">http://mmsc.tele2.hr</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Croatia</b></td>
<td valign="top">Tomato</td>
<td valign="top">mms.tomato.com.hr</td>
<td valign="top">212.91.99.91:8080</td>
<td valign="top">http://mms.Tomato.com.hr/servlets/mms</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Croatia</b></td>
<td valign="top">VIPNet</td>
<td valign="top">mms.vipnet.hr</td>
<td valign="top">212.91.99.91:8080</td>
<td valign="top">http://mms.vipnet.hr/servlets/mms</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Cyprus</b></td>
<td valign="top">Areeba</td>
<td valign="top">mms.areeba.com.cy</td>
<td valign="top">172.24.97.1:8080</td>
<td valign="top">http://mms.areeba.com.cy/mmsc</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Cyprus</b></td>
<td valign="top">CytaMobile Vodafone</td>
<td valign="top">cytamobile</td>
<td valign="top">212.31.96.161:8080</td>
<td valign="top">http://mmsc.cyta.com.cy</td>
<td valign="top">user</td>
<td valign="top">pass</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Cyprus</b></td>
<td valign="top">MTN</td>
<td valign="top">mms</td>
<td valign="top">172.24.97.1:3130</td>
<td valign="top">http://mms.mtn.com.cy/mmsc</td>
<td valign="top">mms</td>
<td valign="top">mms</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Cyprus</b></td>
<td valign="top">Primetel</td>
<td valign="top">ip.primetel</td>
<td valign="top">mms.primetel:80</td>
<td valign="top">http://mms.primetel</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Czech Republic</b></td>
<td valign="top">Eurotel</td>
<td valign="top">mms</td>
<td valign="top">160.218.160.218:8080</td>
<td valign="top">http://mms.eurotel.cz:8002</td>
<td valign="top">mms</td>
<td valign="top">mms</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Czech Republic</b></td>
<td valign="top">O2</td>
<td valign="top">mms</td>
<td valign="top">160.218.160.218:8080</td>
<td valign="top">http://mms.o2active.cz:8002</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Czech Republic</b></td>
<td valign="top">Vodafone</td>
<td valign="top">mms</td>
<td valign="top">10.11.10.111:80</td>
<td valign="top">http://mms</td>
<td valign="top">mms</td>
<td valign="top">mms</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Czech Republic</b></td>
<td valign="top">T-Mobile</td>
<td valign="top">mms.t-mobile.cz</td>
<td valign="top">10.0.0.10:80</td>
<td valign="top">http://mms</td>
<td valign="top">mms</td>
<td valign="top">mms</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Denmark</b></td>
<td valign="top">3</td>
<td valign="top">data.tre.dk</td>
<td valign="top">172.16.1.25:8799</td>
<td valign="top">http://mms.3.dk</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Denmark</b></td>
<td valign="top">BiBob</td>
<td valign="top">internet</td>
<td valign="top">212.88.64.8:8080</td>
<td valign="top">http://mms.telenor.dk</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Denmark</b></td>
<td valign="top">Call Me</td>
<td valign="top">mmsSP</td>
<td valign="top">193.209.134.131:8080</td>
<td valign="top">http://mms.telia.dk</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Denmark</b></td>
<td valign="top">Oister</td>
<td valign="top">data.dk</td>
<td valign="top">172.16.53.12:8799</td>
<td valign="top">http://mms.oister.dk</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Denmark</b></td>
<td valign="top">Onfone</td>
<td valign="top">mms</td>
<td valign="top">194.182.251.15:8080</td>
<td valign="top">http://192.168.241.114:8002</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Denmark</b></td>
<td valign="top">Sonofon</td>
<td valign="top">sonofon</td>
<td valign="top">212.88.64.8:8080</td>
<td valign="top">http://mms.sonofon.dk</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Denmark</b></td>
<td valign="top">TDC</td>
<td valign="top">mms</td>
<td valign="top">194.182.251.15:8080</td>
<td valign="top">http://192.168.241.114:8002</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Denmark</b></td>
<td valign="top">Telenor</td>
<td valign="top">internet</td>
<td valign="top">212.88.64.8:8080</td>
<td valign="top">http://mms.telenor.dk</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Denmark</b></td>
<td valign="top">Telia</td>
<td valign="top">www.mms.telia.dk</td>
<td valign="top">193.209.134.131:8080</td>
<td valign="top">http://mms.telia.dk</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Denmark</b></td>
<td valign="top">Telmore</td>
<td valign="top">mms</td>
<td valign="top">194.182.251.15:8080</td>
<td valign="top">http://192.168.241.114:8002</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Dominica</b></td>
<td valign="top">Lime</td>
<td valign="top">multimedia</td>
<td valign="top">10.20.5.34:8799</td>
<td valign="top">http://mmsc</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Dominican Republic</b></td>
<td valign="top">Claro</td>
<td valign="top">mms.ideasclaro.com.do</td>
<td valign="top">190.80.147.8:8080</td>
<td valign="top">http://mms.ideasclaro.com.do/mms/wapenc</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Dominican Republic</b></td>
<td valign="top">Orange</td>
<td valign="top">orangeworld</td>
<td valign="top">172.16.126.70:8080</td>
<td valign="top">http://mms.orange.com.do/servlets/mms</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Ecuador</b></td>
<td valign="top">Movistar</td>
<td valign="top">mms.movistar.com.ec</td>
<td valign="top">10.255.15.193:8088</td>
<td valign="top">http://mms.movistar.com.ec</td>
<td valign="top">movistar</td>
<td valign="top">movistar</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Ecuador</b></td>
<td valign="top">Porta</td>
<td valign="top">mms.porta.com.ec</td>
<td valign="top">216.250.208.94:8799</td>
<td valign="top">http://iesmms.porta.com.ec</td>
<td valign="top">portamms</td>
<td valign="top">portamms2003</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Egypt</b></td>
<td valign="top">Etisalat</td>
<td valign="top">etisalat</td>
<td valign="top">10.71.130.29:8080</td>
<td valign="top">http://10.71.131.7:38090</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Egypt</b></td>
<td valign="top">MobileNil</td>
<td valign="top">Mobinilmms</td>
<td valign="top">62.241.155.54:8080</td>
<td valign="top">http://10.7.13.24:8002</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Egypt</b></td>
<td valign="top">Vodafone</td>
<td valign="top">mms.vodafone.com.eg</td>
<td valign="top">163.121.178.2:8080</td>
<td valign="top">http://mms.vodafone.com.eg/servlets/mms</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>El Salvador</b></td>
<td valign="top">Claro</td>
<td valign="top">mms.ideasclaro</td>
<td valign="top">216.230.133.66:8080</td>
<td valign="top">http://mms.ideasclaro.com:8002</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>El Salvador</b></td>
<td valign="top">Movistar</td>
<td valign="top">mms.movistar.sv</td>
<td valign="top">10.12.20.1:80</td>
<td valign="top">http://mms.movistar.sv</td>
<td valign="top">movistarsv</td>
<td valign="top">movistarsv</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>El Salvador</b></td>
<td valign="top">Tigo</td>
<td valign="top">mms.tigo.sv</td>
<td valign="top">10.16.17.12:8888</td>
<td valign="top">http://mms</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Estonia</b></td>
<td valign="top">Elisa</td>
<td valign="top">mms</td>
<td valign="top">213.161.41.57:80</td>
<td valign="top">http://mms.elisa.fi</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Estonia</b></td>
<td valign="top">EMT</td>
<td valign="top">mms.emt.ee</td>
<td valign="top">217.71.32.82:8080</td>
<td valign="top">http://mms.emt.ee/servlets/mms</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Estonia</b></td>
<td valign="top">Tele2</td>
<td valign="top">mms.tele2.ee</td>
<td valign="top">193.12.40.6:8080</td>
<td valign="top">http://mmsc.tele2.ee</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Fiji</b></td>
<td valign="top">Digicel</td>
<td valign="top">wap.digicelpacific.com</td>
<td valign="top">10.150.122.12:8080</td>
<td valign="top">http://mms.digicelpacific.com:8990</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Finland</b></td>
<td valign="top">Alands</td>
<td valign="top">mms.amt.aland.fi</td>
<td valign="top">194.110.177.70:8080</td>
<td valign="top">http://mms.amt.aland.fi</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Finland</b></td>
<td valign="top">Dicame (GSM Suomi)</td>
<td valign="top">mms.gsm-suomi.fi</td>
<td valign="top">10.1.1.13:8080</td>
<td valign="top">http://mmsc.gsm-suomi.fi</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Finland</b></td>
<td valign="top">DNA</td>
<td valign="top">mms</td>
<td valign="top">10.1.1.2:8080</td>
<td valign="top">http://mmsc.dnafinland.fi</td>
<td valign="top">dna</td>
<td valign="top">mms</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Finland</b></td>
<td valign="top">Elisa</td>
<td valign="top">mms</td>
<td valign="top">213.161.41.57:8080</td>
<td valign="top">http://mms.elisa.fi</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Finland</b></td>
<td valign="top">Go Mobile</td>
<td valign="top">mms.gomobile.fi</td>
<td valign="top">10.1.1.11:8080</td>
<td valign="top">http://mmsc.gomobile.fi</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Finland</b></td>
<td valign="top">PGFree</td>
<td valign="top">mms.pgfree.com</td>
<td valign="top">10.1.1.1:8080</td>
<td valign="top">http://mmsc.pgfree.fi</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Finland</b></td>
<td valign="top">Saunalahti</td>
<td valign="top">mms.saunalahti.fi</td>
<td valign="top">62.142.4.197:8080</td>
<td valign="top">http://mms.saunalahti.fi:8002</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Finland</b></td>
<td valign="top">Sonera</td>
<td valign="top">wap.sonera.net</td>
<td valign="top">195.156.25.33:8080</td>
<td valign="top">http://mms.sonera.fi:8002</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Finland</b></td>
<td valign="top">TDC</td>
<td valign="top">mms.tdc.fi</td>
<td valign="top">10.1.12.2:8080</td>
<td valign="top">http://mmsc.tdc.fi</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>France</b></td>
<td valign="top">Bouygues</td>
<td valign="top">mmsbouygtel.com</td>
<td valign="top">62.201.137.17:8080</td>
<td valign="top">http://mms.bouyguestelecom.fr/mms/wapenc</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>France</b></td>
<td valign="top">Orange</td>
<td valign="top">orange.acte</td>
<td valign="top">192.168.10.200:8080</td>
<td valign="top">http://mms.orange.fr</td>
<td valign="top">orange</td>
<td valign="top">orange</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>France</b></td>
<td valign="top">SFR</td>
<td valign="top">mmssfr</td>
<td valign="top">10.151.0.1:8080</td>
<td valign="top">http://mms1</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>French Guiana</b></td>
<td valign="top">Orange</td>
<td valign="top">orangewap</td>
<td valign="top">10.0.0.10:8082</td>
<td valign="top">http://193.251.160.246/servlets/mms</td>
<td valign="top">orange</td>
<td valign="top">orange</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>F.Y.O.R.M.</b></td>
<td valign="top">One</td>
<td valign="top">mms</td>
<td valign="top">212.158.178.36:8080</td>
<td valign="top">http://mm</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Georgia</b></td>
<td valign="top">Magti</td>
<td valign="top">mms.ge</td>
<td valign="top">81.95.160.1:8080</td>
<td valign="top">http://mms.magticom.ge</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Germany</b></td>
<td valign="top">E-Plus</td>
<td valign="top">internet.eplus.de</td>
<td valign="top">212.23.97.153:8080</td>
<td valign="top">http://mms/eplus</td>
<td valign="top">mms</td>
<td valign="top">eplus</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Germany</b></td>
<td valign="top">O2</td>
<td valign="top">internet</td>
<td valign="top">195.182.114.52:8080</td>
<td valign="top">http://10.81.0.7:8002</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Germany</b></td>
<td valign="top">T-Mobile</td>
<td valign="top">mms.t-d1.de</td>
<td valign="top">172.28.23.131:8008</td>
<td valign="top">http://mms.t-mobile.de/servlets/mms</td>
<td valign="top">t-mobil</td>
<td valign="top">mms</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Germany</b></td>
<td valign="top">Vodafone D2</td>
<td valign="top">event.vodafone.de</td>
<td valign="top">139.7.29.17:8080</td>
<td valign="top">http://139.7.24.1/servlets/mms</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Gibraltar</b></td>
<td valign="top">Gibtelecom</td>
<td valign="top">mms.gibtele.com</td>
<td valign="top">172.17.0.5:8080</td>
<td valign="top">http://mms:8081</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Greece</b></td>
<td valign="top">Cosmote</td>
<td valign="top">mms</td>
<td valign="top">10.10.10.20:8080</td>
<td valign="top">http://195.167.65.220:8002</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Greece</b></td>
<td valign="top">Q-Telecom</td>
<td valign="top">q-mms.myq.gr</td>
<td valign="top">192.168.80.134:8080</td>
<td valign="top">http://mms.myq.gr</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Greece</b></td>
<td valign="top">TIM</td>
<td valign="top">mnet.b-online.gr</td>
<td valign="top">192.168.200.11:8080</td>
<td valign="top">http://192.168.200.95/servlets/mms</td>
<td valign="top">wap</td>
<td valign="top">wap</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Greece</b></td>
<td valign="top">Vodafone</td>
<td valign="top">mms.vodafone.net</td>
<td valign="top">213.249.19.49:8080</td>
<td valign="top">http://mms.vodafone.gr</td>
<td valign="top">user</td>
<td valign="top">pass</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Grenada</b></td>
<td valign="top">Lime</td>
<td valign="top">multimedia</td>
<td valign="top">10.20.5.34:8799</td>
<td valign="top">http://mmsc</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Guadeloupe</b></td>
<td valign="top">Orange</td>
<td valign="top">orangewap</td>
<td valign="top">10.0.0.10:8082</td>
<td valign="top">http://193.251.160.246/servlets/mms</td>
<td valign="top">orange</td>
<td valign="top">orange</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Guatemala</b></td>
<td valign="top">Claro</td>
<td valign="top">mms.ideasclaro</td>
<td valign="top">216.230.133.66:8080</td>
<td valign="top">http://mms.ideasclaro.com:8002</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Guatemala</b></td>
<td valign="top">Movistar</td>
<td valign="top">mms.movistar.gt</td>
<td valign="top">10.12.22.1:80</td>
<td valign="top">http://mms.movistar.gt</td>
<td valign="top">movistargt</td>
<td valign="top">movistargt</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Guatemala</b></td>
<td valign="top">Tigo</td>
<td valign="top">mms.tigo.gt</td>
<td valign="top">10.16.17.12:8888</td>
<td valign="top">http://mms</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Haiti</b></td>
<td valign="top">Digicel</td>
<td valign="top">wap.digicelha.com</td>
<td valign="top">172.20.134.12:8080</td>
<td valign="top">http://mmc.digicelhaiti.com/servlets/mms</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Honduras</b></td>
<td valign="top">Digicel</td>
<td valign="top">wap.digicelhn.com</td>
<td valign="top">172.26.5.12:8080</td>
<td valign="top">http://172.26.5.132/servlets/mms</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Honduras</b></td>
<td valign="top">Claro</td>
<td valign="top">mms.megatel.hn</td>
<td valign="top">10.6.32.2:8080</td>
<td valign="top">http://10.6.32.27/servlets/mms</td>
<td valign="top">mmsmegatel</td>
<td valign="top">mmsmegatel</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Honduras</b></td>
<td valign="top">Tigo</td>
<td valign="top">mms.tigo.hn</td>
<td valign="top">10.16.17.12:8888</td>
<td valign="top">http://mms</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Hong Kong</b></td>
<td valign="top">CSL</td>
<td valign="top">hkcsl</td>
<td valign="top">192.168.59.51:8080</td>
<td valign="top">http://192.168.58.171:8002</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Hong Kong</b></td>
<td valign="top">New World</td>
<td valign="top">mms</td>
<td valign="top">192.168.111.1:8080</td>
<td valign="top">http://mmsc.nwmobility.com:8002</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Hong Kong</b></td>
<td valign="top">Orange</td>
<td valign="top">mms.orangehk.com</td>
<td valign="top">10.30.15.53:8080</td>
<td valign="top">http://10.30.15.51:10021/mmsc</td>
<td valign="top">orange</td>
<td valign="top">1234</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Hong Kong</b></td>
<td valign="top">Peoples</td>
<td valign="top">peoples.mms</td>
<td valign="top">172.31.31.36:8080</td>
<td valign="top">http://mms.peoples.com.hk/mms</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Hong Kong</b></td>
<td valign="top">SmarTone</td>
<td valign="top">smartone</td>
<td valign="top">10.9.9.9:8080</td>
<td valign="top">http://mms.smartone.com.hk/server</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Hong Kong</b></td>
<td valign="top">Sunday</td>
<td valign="top">smms</td>
<td valign="top">10.131.2.1:8080</td>
<td valign="top">http://mmsc.mms.sunday.com:8002</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Hong Kong</b></td>
<td valign="top">3</td>
<td valign="top">mobile.three.com.hk</td>
<td valign="top">172.20.99.240:8080</td>
<td valign="top">http://mms.um.three.com.hk:10021/mmsc</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Hungary</b></td>
<td valign="top">Pannon</td>
<td valign="top">mms</td>
<td valign="top">193.225.154.22:8080</td>
<td valign="top">http://mmsc.pgsm.hu</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Hungary</b></td>
<td valign="top">T-Mobile</td>
<td valign="top">mms-westel</td>
<td valign="top">212.51.126.10:8080</td>
<td valign="top">http://mms.westel900.net/servlets/mms</td>
<td valign="top">mms</td>
<td valign="top">mms</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Hungary</b></td>
<td valign="top">Vodafone</td>
<td valign="top">mms.vodafone.net</td>
<td valign="top">80.244.97.2:8080</td>
<td valign="top">http://mms.vodafone.hu/servlets/mms</td>
<td valign="top">mms</td>
<td valign="top">mms</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>India</b></td>
<td valign="top">Airtel</td>
<td valign="top">airtelmms.com</td>
<td valign="top">100.1.201.172:8080</td>
<td valign="top">http://100.1.201.171:10021/mmsc</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>India</b></td>
<td valign="top">BPL</td>
<td valign="top">mizone</td>
<td valign="top">10.0.0.10:8080</td>
<td valign="top">http://mms.bplmobile.com:8080</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>India</b></td>
<td valign="top">CellOne</td>
<td valign="top">bsnlmms</td>
<td valign="top">10.31.54.2:8080</td>
<td valign="top">http://10.31.53.18/mms/</td>
<td valign="top">ppp</td>
<td valign="top">ppp123</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>India</b></td>
<td valign="top">Hutch Vodafone</td>
<td valign="top">portalnmms</td>
<td valign="top">10.10.1.100:8080</td>
<td valign="top">http://mms1.live.vodafone.in/mms/</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>India</b></td>
<td valign="top">Idea</td>
<td valign="top">mmsc</td>
<td valign="top">10.4.42.15:8080</td>
<td valign="top">http://10.4.42.21:8002</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Indonesia</b></td>
<td valign="top">AXIS</td>
<td valign="top">AXISmms</td>
<td valign="top">10.8.3.8:8080</td>
<td valign="top">http://mmsc.AXIS</td>
<td valign="top">AXIS</td>
<td valign="top">123456</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Indonesia</b></td>
<td valign="top">IM-3</td>
<td valign="top">mms.indosat-m3.net</td>
<td valign="top">10.19.19.19:8080</td>
<td valign="top">http://mmsc.m3-access.com</td>
<td valign="top">mms</td>
<td valign="top">im3</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Indonesia</b></td>
<td valign="top">Mentari</td>
<td valign="top">indosatmms</td>
<td valign="top">10.19.19.19:8080</td>
<td valign="top">http://mmsc.indosat.com</td>
<td valign="top">indosat</td>
<td valign="top">indosat</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Indonesia</b></td>
<td valign="top">ProXL</td>
<td valign="top">www.xlmms.net</td>
<td valign="top">202.152.240.50:8080</td>
<td valign="top">http://mmc.xl.net.id/servlets/mms</td>
<td valign="top">xlgprs</td>
<td valign="top">proxl</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Indonesia</b></td>
<td valign="top">Sat-C</td>
<td valign="top">mms.satelindogprs.com</td>
<td valign="top">202.152.162.88:8080</td>
<td valign="top">http://mmsc.satelindogprs.com</td>
<td valign="top">satmms</td>
<td valign="top">satmms</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Indonesia</b></td>
<td valign="top">Telkomsel</td>
<td valign="top">mms</td>
<td valign="top">10.1.89.150:8080</td>
<td valign="top">http://mms.telkomsel.com</td>
<td valign="top">wap</td>
<td valign="top">wap123</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Indonesia</b></td>
<td valign="top">3</td>
<td valign="top">3mms</td>
<td valign="top">10.4.0.10:3128</td>
<td valign="top">http://mms.hutch.co.id</td>
<td valign="top">3mms</td>
<td valign="top">3mms</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Ireland</b></td>
<td valign="top">Vodafone</td>
<td valign="top">mms.vodafone.net</td>
<td valign="top">10.24.59.200:80</td>
<td valign="top">http://www.vodafone.ie/mms</td>
<td valign="top">dublin</td>
<td valign="top">dublin</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Ireland</b></td>
<td valign="top">Meteor</td>
<td valign="top">mms.mymeteor.ie</td>
<td valign="top">10.85.85.85:8799</td>
<td valign="top">http://mms.mymeteor.ie</td>
<td valign="top">my</td>
<td valign="top">mms</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Ireland</b></td>
<td valign="top">O2</td>
<td valign="top">wap.dol.ie</td>
<td valign="top">62.40.32.40:8080</td>
<td valign="top">http://mmsc.mms.o2.ie:8002</td>
<td valign="top">gprs</td>
<td valign="top">gprs</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Ireland</b></td>
<td valign="top">O2 (PrePaid)</td>
<td valign="top">pp/wap.o2.ie</td>
<td valign="top">62.40.32.40:8080</td>
<td valign="top">http://mmsc.mms.o2.ie:8002</td>
<td valign="top">gprs</td>
<td valign="top">gprs</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Ireland</b></td>
<td valign="top">3</td>
<td valign="top">3ireland.ie</td>
<td valign="top">213.190.129.170:8799</td>
<td valign="top">http://mms.um.3ireland.ie:10021/mmsc/</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Israel</b></td>
<td valign="top">Cellcom</td>
<td valign="top">mms</td>
<td valign="top">172.31.29.38:8080</td>
<td valign="top">http://mms.cellcom.co.il</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Israel</b></td>
<td valign="top">Orange</td>
<td valign="top">uwap.orange.co.il</td>
<td valign="top">192.118.11.55:8080</td>
<td valign="top">http://192.168.220.15/servlets/mms</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Israel</b></td>
<td valign="top">Pelephone</td>
<td valign="top">mms.pelephone.net.il</td>
<td valign="top">10.170.9.54:9093</td>
<td valign="top">http://mmsu.pelephone.net.il</td>
<td valign="top">pcl@3g</td>
<td valign="top">pcl</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Italy</b></td>
<td valign="top">TIM</td>
<td valign="top">mms.tim.it</td>
<td valign="top">213.230.130.89:80</td>
<td valign="top">http://mms.tim.it/servlets/mms</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Italy</b></td>
<td valign="top">Vodafone</td>
<td valign="top">mms.vodafone.it</td>
<td valign="top">10.128.224.10:8080</td>
<td valign="top">http://mms.vodafone.it/servlets/mms</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Italy</b></td>
<td valign="top">Wind</td>
<td valign="top">mms.wind</td>
<td valign="top">212.245.244.11:8080</td>
<td valign="top">http://mms.wind.it</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Italy</b></td>
<td valign="top">3</td>
<td valign="top">tre.it</td>
<td valign="top">62.13.171.3:8799</td>
<td valign="top">http://10.216.59.240:10021/mmsc</td>
<td valign="top">tre</td>
<td valign="top">tre</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Jamaica</b></td>
<td valign="top">Claro</td>
<td valign="top">mms.ideasclaro.com.jm</td>
<td valign="top">190.80.147.118:8080</td>
<td valign="top">http://mms.ideasclaro.com.jm:8002</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Jamaica</b></td>
<td valign="top">Digicel</td>
<td valign="top">wap.digiceljamaica.com</td>
<td valign="top">172.16.7.12:8080</td>
<td valign="top">http://mmc.digiceljamaica.com/servlets/mms</td>
<td valign="top">wapuser</td>
<td valign="top">wap03jam</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Jamaica</b></td>
<td valign="top">Lime</td>
<td valign="top">multimedia</td>
<td valign="top">10.20.5.34:8799</td>
<td valign="top">http://mmsc</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Jordan</b></td>
<td valign="top">MobileCom</td>
<td valign="top">mms.mobilecom.jo</td>
<td valign="top">172.16.1.2:8080</td>
<td valign="top">http://172.16.1.96/servlets/mms</td>
<td valign="top">mms</td>
<td valign="top">mms</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Jordan</b></td>
<td valign="top">Orange</td>
<td valign="top">mms.orange.jo</td>
<td valign="top">172.16.1.2:8080</td>
<td valign="top">http://172.16.1.96/servlets/mms</td>
<td valign="top">mmc</td>
<td valign="top">mmc</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Kazakhstan</b></td>
<td valign="top">K Mobile</td>
<td valign="top">mms.k-mobile</td>
<td valign="top">172.27.6.93:8080</td>
<td valign="top">http://mms.kartel.kz/mms/wapenc</td>
<td valign="top">@mms.k-mobile</td>
<td valign="top">k-mobile</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Kazakhstan</b></td>
<td valign="top">Kcell</td>
<td valign="top">mms</td>
<td valign="top">195.47.255.15:8080</td>
<td valign="top">http://192.168.75.10:6001/MM1Servlet</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Kenya</b></td>
<td valign="top">Safaricom</td>
<td valign="top">safaricom</td>
<td valign="top">172.22.2.38:80</td>
<td valign="top">http://mms.gprs.safaricom.com</td>
<td valign="top">saf</td>
<td valign="top">data</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Kuwait</b></td>
<td valign="top">MTC</td>
<td valign="top">pps</td>
<td valign="top">176.0.0.65:8080</td>
<td valign="top">http://176.0.0.1</td>
<td valign="top">annyway</td>
<td valign="top">online</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Kuwait</b></td>
<td valign="top">Wataniya</td>
<td valign="top">mms.wataniya.com</td>
<td valign="top">194.126.53.64:8080</td>
<td valign="top">http://action.wataniya.com</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Latvia</b></td>
<td valign="top">Amigo</td>
<td valign="top">mms.amigo.lv</td>
<td valign="top">212.93.97.201:8080</td>
<td valign="top">http://mmsc.lmt.lv/mmsc</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Latvia</b></td>
<td valign="top">LMT</td>
<td valign="top">mms.lmt.lv</td>
<td valign="top">212.93.97.201:8080</td>
<td valign="top">http://mmsc.lmt.lv/mmsc</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Latvia</b></td>
<td valign="top">Tele2</td>
<td valign="top">mms.tele2.lv</td>
<td valign="top">193.12.40.38:8080</td>
<td valign="top">http://mmsc.tele2.lv</td>
<td valign="top">wap</td>
<td valign="top">wap</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Liechtenstein</b></td>
<td valign="top">MobilKom</td>
<td valign="top">free.fl1.net</td>
<td valign="top">194.48.124.71:8080</td>
<td valign="top">http://mmsc.a1.net</td>
<td valign="top">ppp@a1plus.at</td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Lithuania</b></td>
<td valign="top">Omnitel</td>
<td valign="top">mms.omnitel.net</td>
<td valign="top">10.16.35.50:8080</td>
<td valign="top">http://mms:8002</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Luxembourg</b></td>
<td valign="top">Lux GSM</td>
<td valign="top">mms.pt.lu</td>
<td valign="top">194.154.192.88:8080</td>
<td valign="top">http://mmsc.pt.lu</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Luxembourg</b></td>
<td valign="top">Tango</td>
<td valign="top">mms</td>
<td valign="top">212.66.75.3:8080</td>
<td valign="top">http://mms.tango.lu</td>
<td valign="top">tango</td>
<td valign="top">tango</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Luxembourg</b></td>
<td valign="top">VOX</td>
<td valign="top">vox.lu</td>
<td valign="top">212.88.139.44:8080</td>
<td valign="top">http://mms.vox.lu</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Macau</b></td>
<td valign="top">CTM</td>
<td valign="top">ctmmms</td>
<td valign="top">192.168.99.3:8080</td>
<td valign="top">http://mms.wap.ctm.net:8002</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Macedonia</b></td>
<td valign="top">Cosmofon</td>
<td valign="top">mms</td>
<td valign="top">10.10.10.20:8080</td>
<td valign="top">http://195.167.65.220:8002</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Madagascar</b></td>
<td valign="top">Orange</td>
<td valign="top">orangemms</td>
<td valign="top">10.150.0.115:8080</td>
<td valign="top">http://10.152.10.70:38090</td>
<td valign="top">mms</td>
<td valign="top">orange</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Malaysia</b></td>
<td valign="top">Celcom</td>
<td valign="top">mms.celcom.net.my</td>
<td valign="top">10.128.1.242:8080</td>
<td valign="top">http://mms.celcom.net.my</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Malaysia</b></td>
<td valign="top">DiGi</td>
<td valign="top">digimms</td>
<td valign="top">203.92.128.160:8080</td>
<td valign="top">http://mms.digi.com.my/servlets/mms</td>
<td valign="top">mms</td>
<td valign="top">mms</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Malaysia</b></td>
<td valign="top">Maxis</td>
<td valign="top">net</td>
<td valign="top">202.75.133.49:80</td>
<td valign="top">http://172.16.74.100:10021/mmsc</td>
<td valign="top">maxis</td>
<td valign="top">wap</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Maldives</b></td>
<td valign="top">Dhiraagu</td>
<td valign="top">mms.dhimobile</td>
<td valign="top">172.24.97.4:8080</td>
<td valign="top">http://mmsc.dhimobile.com.mv</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Malta</b></td>
<td valign="top">Vodafone</td>
<td valign="top">mms.vodafone.com.mt</td>
<td valign="top">10.12.0.3:8080</td>
<td valign="top">http://mms.vodafone.com.mt/servlets/mms</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Martinique</b></td>
<td valign="top">Digicel</td>
<td valign="top">wap.digicelfr.com</td>
<td valign="top">172.20.6.12:8080</td>
<td valign="top">http://mmc.digicelfr.com/servlets/mms</td>
<td valign="top">wap</td>
<td valign="top">wap</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Martinique</b></td>
<td valign="top">Orange</td>
<td valign="top">orangewap</td>
<td valign="top">10.0.0.10:8082</td>
<td valign="top">http://193.251.160.246/servlets/mms</td>
<td valign="top">orange</td>
<td valign="top">orange</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Mauritius</b></td>
<td valign="top">Emtel</td>
<td valign="top">mms</td>
<td valign="top">192.168.0.7:8080</td>
<td valign="top">http://192.168.0.25:8514</td>
<td valign="top">230YourNumber</td>
<td valign="top">mmsc</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Mauritius</b></td>
<td valign="top">Orange</td>
<td valign="top">orangemms</td>
<td valign="top">10.2.1.20:8080</td>
<td valign="top">http://10.2.1.20:8514</td>
<td valign="top">mmsc</td>
<td valign="top">mmsc</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Mexico</b></td>
<td valign="top">Iusacell</td>
<td valign="top">mms.iusacell3g.mx</td>
<td valign="top">192.200.1.110</td>
<td valign="top">http://mms.iusacell3g.com</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Mexico</b></td>
<td valign="top">Movistar</td>
<td valign="top">mms.movistar.mx</td>
<td valign="top">10.2.20.1</td>
<td valign="top">http://mms.movistar.mx</td>
<td valign="top">movistar</td>
<td valign="top">movistar</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Mexico</b></td>
<td valign="top">Telcel</td>
<td valign="top">mms.itelcel.com</td>
<td valign="top">148.233.151.240:8080</td>
<td valign="top">http://mms.itelcel.com/servlets/mms</td>
<td valign="top">mmsgprs</td>
<td valign="top">mmsgprs2003</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Moldova</b></td>
<td valign="top">MoldCell</td>
<td valign="top">mms</td>
<td valign="top">10.0.10.10:8080</td>
<td valign="top">http://mms.moldcell.md/cmmsc/post</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Moldova</b></td>
<td valign="top">Orange</td>
<td valign="top">mms.orange.md</td>
<td valign="top">192.168.127.125:3128</td>
<td valign="top">http://mms/mms</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Monaco</b></td>
<td valign="top">Monacell</td>
<td valign="top">orange.acte</td>
<td valign="top">192.168.1.2:8080</td>
<td valign="top">http://mms.orange.fr</td>
<td valign="top">orange</td>
<td valign="top">orange</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Montenegro</b></td>
<td valign="top">Promonte</td>
<td valign="top">mms.promonte.com</td>
<td valign="top">192.168.246.5:8080</td>
<td valign="top">http://mm.vor.promonte.com</td>
<td valign="top">mms</td>
<td valign="top">mms</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Montserrat</b></td>
<td valign="top">Lime</td>
<td valign="top">multimedia</td>
<td valign="top">10.20.5.34:8799</td>
<td valign="top">http://mmsc</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Morocco</b></td>
<td valign="top">IAM</td>
<td valign="top">mmsiam</td>
<td valign="top">10.16.35.50:8080</td>
<td valign="top">http://mms:8002</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Morocco</b></td>
<td valign="top">Maroc Telecom</td>
<td valign="top">mmsiam</td>
<td valign="top">10.16.35.50:8080</td>
<td valign="top">http://mms:8002</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Mozambique</b></td>
<td valign="top">mcel</td>
<td valign="top">mms.mcel.mz</td>
<td valign="top">10.1.4.35</td>
<td valign="top">http://mcelmms</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Namibia</b></td>
<td valign="top">MTC</td>
<td valign="top">mms</td>
<td valign="top">10.40.10.252:80</td>
<td valign="top">http://www.mtcmobile.com.na</td>
<td valign="top">mms</td>
<td valign="top">mms</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Netherlands</b></td>
<td valign="top">KPN</td>
<td valign="top">portalmmm.nl</td>
<td valign="top">10.10.100.20:5080</td>
<td valign="top">http://mp.mobiel.kpn/mmsc</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Netherlands</b></td>
<td valign="top">Telfort</td>
<td valign="top">multimedia</td>
<td valign="top">193.113.200.195:8080</td>
<td valign="top">http://mmsc.mms.telfort.nl:8002</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Netherlands</b></td>
<td valign="top">T-Mobile</td>
<td valign="top">mms</td>
<td valign="top">10.10.10.11:8080</td>
<td valign="top">http://t-mobilemms</td>
<td valign="top">tmobilemms</td>
<td valign="top">tmobilemms</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Netherlands</b></td>
<td valign="top">Vodafone</td>
<td valign="top">live.vodafone.com</td>
<td valign="top">192.168.251.150:8799</td>
<td valign="top">http://mmsc.mms.vodafone.nl</td>
<td valign="top">vodafone</td>
<td valign="top">vodafone</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>New Zealand</b></td>
<td valign="top">Vodafone</td>
<td valign="top">live.vodafone.com</td>
<td valign="top">172.30.38.3:8080</td>
<td valign="top">http://pxt.vodafone.net.nz/pxtsend</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Nicaragua</b></td>
<td valign="top">Claro</td>
<td valign="top">mms.ideasalo.ni</td>
<td valign="top">10.6.32.2:8080</td>
<td valign="top">http://mms.ideasalo.ni</td>
<td valign="top">mms</td>
<td valign="top">mms</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Nicaragua</b></td>
<td valign="top">Movistar</td>
<td valign="top">mms.movistar.ni</td>
<td valign="top">10.12.23.1:80</td>
<td valign="top">http://mms.movistar.ni</td>
<td valign="top">movistarni</td>
<td valign="top">movistarni</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Nigeria</b></td>
<td valign="top">Glomobile</td>
<td valign="top">glomms</td>
<td valign="top">10.100.82.4:8080</td>
<td valign="top">http://mms.gloworld.com/mmsc</td>
<td valign="top">mms</td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Nigeria</b></td>
<td valign="top">MTN</td>
<td valign="top">web.gprs.mtnnigeria.net</td>
<td valign="top">10.199.212.2:8080</td>
<td valign="top">http://10.199.212.8/servlets/mms</td>
<td valign="top">web</td>
<td valign="top">web</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Norway</b></td>
<td valign="top">Netcom</td>
<td valign="top">mms.netcom.no</td>
<td valign="top">212.169.66.4:80</td>
<td valign="top">http://mm</td>
<td valign="top">mms</td>
<td valign="top">netcom</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Norway</b></td>
<td valign="top">Onecall</td>
<td valign="top">mms</td>
<td valign="top">89.254.65.20:80</td>
<td valign="top">http://mms.nwn.no</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Norway</b></td>
<td valign="top">Telenor</td>
<td valign="top">mms</td>
<td valign="top">10.10.10.11:8080</td>
<td valign="top">http://mmsc</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Norway</b></td>
<td valign="top">Tele2</td>
<td valign="top">internet.tele2.no</td>
<td valign="top">193.12.40.14:8080</td>
<td valign="top">http://mmsc.tele2.no</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Norway</b></td>
<td valign="top">Ventelo</td>
<td valign="top">mms.ventelo.no</td>
<td valign="top">10.10.10.11:8080</td>
<td valign="top">http://mmsc</td>
<td valign="top">ventelo</td>
<td valign="top">1111</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Oman</b></td>
<td valign="top">Nawras</td>
<td valign="top">mms.nawras.com.om</td>
<td valign="top">10.128.240.16:8080</td>
<td valign="top">http://10.128.240.16/servlets/mms</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Oman</b></td>
<td valign="top">Oman Mobile</td>
<td valign="top">mms</td>
<td valign="top">192.168.203.35:8080</td>
<td valign="top">http://mmsc.omanmobile.om:10021/mmsc</td>
<td valign="top">mms</td>
<td valign="top">mms</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Pakistan</b></td>
<td valign="top">Telenor</td>
<td valign="top">mms</td>
<td valign="top">172.18.19.11:8080</td>
<td valign="top">http://mmstelenor</td>
<td valign="top">telenor</td>
<td valign="top">telenor</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Pakistan</b></td>
<td valign="top">Ufone</td>
<td valign="top">ufone.mms</td>
<td valign="top">172.16.13.27:8080</td>
<td valign="top">http://www.ufonemms.com:80/alias=id</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Pakistan</b></td>
<td valign="top">Warid</td>
<td valign="top">mms.warid</td>
<td valign="top">10.4.2.1:8080</td>
<td valign="top">http://10.4.0.132/servlets/mms</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Panama</b></td>
<td valign="top">Cable &amp; Wireless</td>
<td valign="top">apn01.cwpanama.com.pa</td>
<td valign="top">172.25.3.5:8080</td>
<td valign="top">http://mms.zonamovil.com.pa:80/i.bin</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Panama</b></td>
<td valign="top">Claro</td>
<td valign="top">mms.claro.com.pa</td>
<td valign="top">10.240.3.129:8799</td>
<td valign="top">http://www.claro.com.pa/mms/</td>
<td valign="top">CLAROMMS</td>
<td valign="top">CLAROMMS</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Panama</b></td>
<td valign="top">Digicel</td>
<td valign="top">wap.digicelpanama.com</td>
<td valign="top">172.27.99.99:8080</td>
<td valign="top">http://mmc.digicelpanama.com/servlets/mms</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Panama</b></td>
<td valign="top">Movistar</td>
<td valign="top">mms.movistar.pa</td>
<td valign="top">10.12.21.1:80</td>
<td valign="top">http://mms.movistar.pa</td>
<td valign="top">movistarpamms</td>
<td valign="top">movistarpamms</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Paraguay</b></td>
<td valign="top">Tigo</td>
<td valign="top">mms.tigo.py</td>
<td valign="top">10.16.17.12:8888</td>
<td valign="top">http://mms</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Paraguay</b></td>
<td valign="top">VOX</td>
<td valign="top">vox.wap</td>
<td valign="top">172.24.97.29:8080</td>
<td valign="top">http://srvvirtual.vox.com.py/mmsc</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Peru</b></td>
<td valign="top">Claro</td>
<td valign="top">mms.claro.pe</td>
<td valign="top">192.168.231.30:80</td>
<td valign="top">http://claro/servlets/mms</td>
<td valign="top">claro</td>
<td valign="top">claro</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Peru</b></td>
<td valign="top">Movistar</td>
<td valign="top">mms.movistar.pe</td>
<td valign="top">200.4.196.118:8080</td>
<td valign="top">http://mmsc.telefonicamovistar.com.pe:8088/mms/</td>
<td valign="top">movistar@mms</td>
<td valign="top">movistar</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Philippines</b></td>
<td valign="top">Globe</td>
<td valign="top">mms.globe.com.ph</td>
<td valign="top">192.40.100.20:8080</td>
<td valign="top">http://192.40.100.22:10021/mmsc</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Philippines</b></td>
<td valign="top">Smart</td>
<td valign="top">mms</td>
<td valign="top">10.102.61.46:8080</td>
<td valign="top">http://10.102.61.238:8002</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Philippines</b></td>
<td valign="top">SUN / Digitell</td>
<td valign="top">mms</td>
<td valign="top">202.138.159.78:8080</td>
<td valign="top">http://mmscenter.suncellular.com.ph</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Poland</b></td>
<td valign="top">ERA</td>
<td valign="top">eramms</td>
<td valign="top">213.158.194.226:8080</td>
<td valign="top">http://mms.era.pl/servlets/mms</td>
<td valign="top">eramms</td>
<td valign="top">eramms</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Poland</b></td>
<td valign="top">Heyah</td>
<td valign="top">heyahmms</td>
<td valign="top">213.158.194.226:8080</td>
<td valign="top">http://mms.heyah.pl/servlets/mms</td>
<td valign="top">heyah</td>
<td valign="top">heyah</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Poland</b></td>
<td valign="top">Idea</td>
<td valign="top">mms</td>
<td valign="top">192.168.6.104:8080</td>
<td valign="top">http://192.168.6.104</td>
<td valign="top">idea</td>
<td valign="top">idea</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Poland</b></td>
<td valign="top">Orange</td>
<td valign="top">mms</td>
<td valign="top">192.168.6.104:8080</td>
<td valign="top">http://mms.orange.pl</td>
<td valign="top">mms</td>
<td valign="top">mms</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Poland</b></td>
<td valign="top">Play</td>
<td valign="top">mms</td>
<td valign="top">10.10.25.5:8080</td>
<td valign="top">http://10.10.28.164/mms/wapenc</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Poland</b></td>
<td valign="top">Plus</td>
<td valign="top">mms.plusgsm.pl</td>
<td valign="top">212.2.96.16:8080</td>
<td valign="top">http://mms.plusgsm.pl:8002</td>
<td valign="top">brak</td>
<td valign="top">brak</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Poland</b></td>
<td valign="top">Sami Swoi</td>
<td valign="top">wap.plusgsm.pl</td>
<td valign="top">212.2.96.16:8080</td>
<td valign="top">http://mms.plusgsm.pl:8002</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Portugal</b></td>
<td valign="top">Optimus</td>
<td valign="top">mms</td>
<td valign="top">62.169.66.1:8799</td>
<td valign="top">http://mmsc:10021/mmsc</td>
<td valign="top">mms</td>
<td valign="top">mms</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Portugal</b></td>
<td valign="top">TMN</td>
<td valign="top">mmsc.tmn.pt</td>
<td valign="top">10.111.2.16:8080</td>
<td valign="top">http://mmsc</td>
<td valign="top">tmn</td>
<td valign="top">tmnnet</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Portugal</b></td>
<td valign="top">Vodafone</td>
<td valign="top">vas.vodafone.pt</td>
<td valign="top">213.30.27.63:8799</td>
<td valign="top">http://mms/servlets/mms</td>
<td valign="top">vas</td>
<td valign="top">vas</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Qatar</b></td>
<td valign="top">Qtel</td>
<td valign="top">mms.qtel</td>
<td valign="top">10.23.8.3:8080</td>
<td valign="top">http://mmsr.qtelmms.qa</td>
<td valign="top">mms</td>
<td valign="top">mms</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Reunion</b></td>
<td valign="top">Orange</td>
<td valign="top">orangerun.acte</td>
<td valign="top">192.168.10.200:8080</td>
<td valign="top">http://mms.orange.re</td>
<td valign="top">orange</td>
<td valign="top">orange</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Romania</b></td>
<td valign="top">Connex-Vodafone</td>
<td valign="top">mms.connex.ro</td>
<td valign="top">193.230.161.231:8080</td>
<td valign="top">http://multimedia/servlets/mms</td>
<td valign="top">mms.connex.ro</td>
<td valign="top">connex</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Romania</b></td>
<td valign="top">Orange</td>
<td valign="top">mms</td>
<td valign="top">62.217.247.252:8080</td>
<td valign="top">http://wap.mms.orange.ro:8002</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Russia</b></td>
<td valign="top">A Mobile</td>
<td valign="top">mms.mts.ru</td>
<td valign="top">212.44.140.25:8080</td>
<td valign="top">http://mmsc</td>
<td valign="top">mts</td>
<td valign="top">mts</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Russia</b></td>
<td valign="top">Beeline</td>
<td valign="top">wap.beeline.ru</td>
<td valign="top">192.168.94.23:8080</td>
<td valign="top">http://192.168.17.7/servlets/mms</td>
<td valign="top">beeline</td>
<td valign="top">beeline</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Russia</b></td>
<td valign="top">Megafon</td>
<td valign="top">mms</td>
<td valign="top">10.10.10.10:8080</td>
<td valign="top">http://mmsc:8002</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Russia</b></td>
<td valign="top">Motiv</td>
<td valign="top">mms.ycc.ru</td>
<td valign="top">172.16.2.10:8080</td>
<td valign="top">http://mms.ycc.ru</td>
<td valign="top">motiv</td>
<td valign="top">motiv</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Russia</b></td>
<td valign="top">Smarts</td>
<td valign="top">mms.smarts.ru</td>
<td valign="top">172.24.128.5:8080</td>
<td valign="top">http://172.24.120.135/mms/wapenc</td>
<td valign="top">wap</td>
<td valign="top">wap</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Russia</b></td>
<td valign="top">USI</td>
<td valign="top">mms.usi.ru</td>
<td valign="top">192.168.168.192:8080</td>
<td valign="top">http://mms</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Saint Barthelemy</b></td>
<td valign="top">Orange</td>
<td valign="top">orangewap</td>
<td valign="top">10.0.0.10:8082</td>
<td valign="top">http://193.251.160.246/servlets/mms</td>
<td valign="top">orange</td>
<td valign="top">orange</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Saint Kitts &amp; Nevis</b></td>
<td valign="top">Lime</td>
<td valign="top">multimedia</td>
<td valign="top">10.20.5.34:8799</td>
<td valign="top">http://mmsc</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Saint Lucia</b></td>
<td valign="top">Lime</td>
<td valign="top">multimedia</td>
<td valign="top">10.20.5.34:8799</td>
<td valign="top">http://mmsc</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Saint Martin</b></td>
<td valign="top">Orange</td>
<td valign="top">orangewap</td>
<td valign="top">10.0.0.10:8082</td>
<td valign="top">http://193.251.160.246/servlets/mms</td>
<td valign="top">orange</td>
<td valign="top">orange</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Saint Vincent &amp; The Grenadines</b></td>
<td valign="top">Lime</td>
<td valign="top">multimedia</td>
<td valign="top">10.20.5.34:8799</td>
<td valign="top">http://mmsc</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Saudi Arabia</b></td>
<td valign="top">STC</td>
<td valign="top">mms.net.sa</td>
<td valign="top">10.1.1.1:8080</td>
<td valign="top">http://mms.net.sa:8002</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Singapore</b></td>
<td valign="top">M1</td>
<td valign="top">miworld</td>
<td valign="top">172.16.14.10:8080</td>
<td valign="top">http://mmsgw:8002</td>
<td valign="top">65</td>
<td valign="top">user123</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Singapore</b></td>
<td valign="top">Singtel</td>
<td valign="top">e-ideas</td>
<td valign="top">165.21.42.84:8080</td>
<td valign="top">http://mms.singtel.com:10021/mmsc</td>
<td valign="top">65eideas</td>
<td valign="top">eideas</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Singapore</b></td>
<td valign="top">StarHub</td>
<td valign="top">shmms</td>
<td valign="top">10.12.1.80:8080</td>
<td valign="top">http://mms.starhubgee.com.sg:8002</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Slovakia</b></td>
<td valign="top">O2</td>
<td valign="top">o2mms</td>
<td valign="top">10.97.1.11:8080</td>
<td valign="top">http://mms.o2world.sk:8002</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Slovakia</b></td>
<td valign="top">Orange</td>
<td valign="top">mms</td>
<td valign="top">213.151.208.145:8799</td>
<td valign="top">http://imms.orange.sk</td>
<td valign="top">wap</td>
<td valign="top">wap</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Slovakia</b></td>
<td valign="top">T-Mobile</td>
<td valign="top">mms</td>
<td valign="top">192.168.1.1:8080</td>
<td valign="top">http://mms</td>
<td valign="top">mms</td>
<td valign="top">mms</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Slovenia</b></td>
<td valign="top">Izi Mobil</td>
<td valign="top">mms.izimobi</td>
<td valign="top">213.229.249.40:8080</td>
<td valign="top">http://mms.mobitel.si/servlets/mms</td>
<td valign="top">izimobil</td>
<td valign="top">izimobil</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Slovenia</b></td>
<td valign="top">Mobitel</td>
<td valign="top">mms.mobitel.si</td>
<td valign="top">213.229.249.40:8080</td>
<td valign="top">http://mms.mobitel.si/servlets/mms</td>
<td valign="top">mobitel</td>
<td valign="top">internet</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Slovenia</b></td>
<td valign="top">Si Mobil</td>
<td valign="top">mms.simobil.si</td>
<td valign="top">80.95.224.46:8080</td>
<td valign="top">http://mmc</td>
<td valign="top">simobil</td>
<td valign="top">internet</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Slovenia</b></td>
<td valign="top">Tusmobile</td>
<td valign="top">mms.tusmobil.si</td>
<td valign="top">91.185.221.85:8080</td>
<td valign="top">http://mms.tusmobil.si:8002</td>
<td valign="top">tusmobil</td>
<td valign="top">mms</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>South Africa</b></td>
<td valign="top">CellC</td>
<td valign="top">mms</td>
<td valign="top">196.31.116.250:8080</td>
<td valign="top">http://mms.cmobile.co.za</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>South Africa</b></td>
<td valign="top">MTN</td>
<td valign="top">myMTN</td>
<td valign="top">196.11.240.241:8080</td>
<td valign="top">http://mms.mtn.co.za/mms/wapenc</td>
<td valign="top">mtnmms</td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>South Africa</b></td>
<td valign="top">Virgin Mobile</td>
<td valign="top">vmms</td>
<td valign="top">196.31.116.242:8080</td>
<td valign="top">http://mms.virginmobile.co.za</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>South Africa</b></td>
<td valign="top">Vodacom</td>
<td valign="top">internet</td>
<td valign="top">196.6.128.13:8080</td>
<td valign="top">http://mmsc.vodacom4me.co.za</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>South Africa</b></td>
<td valign="top">8TA</td>
<td valign="top">mms</td>
<td valign="top">41.151.254.162:8080</td>
<td valign="top">http://mms.8ta.com:38090/was</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Spain</b></td>
<td valign="top">Amena</td>
<td valign="top">amenamms</td>
<td valign="top">172.22.188.25:8080</td>
<td valign="top">http://mms.amena.com</td>
<td valign="top">MMS</td>
<td valign="top">AMENA</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Spain</b></td>
<td valign="top">Movistar</td>
<td valign="top">mms.movistar.es</td>
<td valign="top">10.138.255.5:8080</td>
<td valign="top">http://mms.movistar.com</td>
<td valign="top">MOVISTAR@mms</td>
<td valign="top">MOVISTAR</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Spain</b></td>
<td valign="top">Pepephone</td>
<td valign="top">mms.pepephone.com</td>
<td valign="top">212.73.32.10:80</td>
<td valign="top">http://mmsc.pepephone.com/servlets/mms</td>
<td valign="top">wap@wap</td>
<td valign="top">wap125</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Spain</b></td>
<td valign="top">SIMYO</td>
<td valign="top">gprs-service.com</td>
<td valign="top">217.18.32.181:8080</td>
<td valign="top">http://mms-services.eu</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Spain</b></td>
<td valign="top">Vodafone</td>
<td valign="top">mms.vodafone.net</td>
<td valign="top">212.73.32.10:80</td>
<td valign="top">http://mmsc.vodafone.es/servlets/mms</td>
<td valign="top">wap@wap</td>
<td valign="top">wap125</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Spain</b></td>
<td valign="top">Yoigo</td>
<td valign="top">mms</td>
<td valign="top">193.209.134.141:80</td>
<td valign="top">https://services.sonera.net/authentication/21404/login.html</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Sri Lanka</b></td>
<td valign="top">Dialog</td>
<td valign="top">www.dialogsl.com</td>
<td valign="top">192.168.122.2:8080</td>
<td valign="top">http://mms.dialog.lk:3130/mmsc</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Sweden</b></td>
<td valign="top">Glocalnet</td>
<td valign="top">services.glocalnet.se</td>
<td valign="top">172.30.253.241:8799</td>
<td valign="top">http://mms</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Sweden</b></td>
<td valign="top">Tele2</td>
<td valign="top">internet.tele2.se</td>
<td valign="top">130.244.202.30:8080</td>
<td valign="top">http://mmsc.tele2.se</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Sweden</b></td>
<td valign="top">Telenor</td>
<td valign="top">services.telenor.se</td>
<td valign="top">172.30.253.241:8799</td>
<td valign="top">http://mms</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Sweden</b></td>
<td valign="top">Telia</td>
<td valign="top">mms.telia.se</td>
<td valign="top">193.209.134.132:8080</td>
<td valign="top">http://mmss</td>
<td valign="top">mms</td>
<td valign="top">telia</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Sweden</b></td>
<td valign="top">Vodafone</td>
<td valign="top">services.vodafone.net</td>
<td valign="top">172.30.253.241:8799</td>
<td valign="top">http://mms</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Sweden</b></td>
<td valign="top">3</td>
<td valign="top">data.tre.se</td>
<td valign="top">172.16.53.11:8799</td>
<td valign="top">http://mms.tre.se</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Switzerland</b></td>
<td valign="top">Orange</td>
<td valign="top">mms</td>
<td valign="top">192.168.151.2:8080</td>
<td valign="top">http://192.168.151.3:8002</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Switzerland</b></td>
<td valign="top">Sunrise</td>
<td valign="top">mms.sunrise.ch</td>
<td valign="top"></td>
<td valign="top">http://mmsc.sunrise.ch</td>
<td valign="top">mms</td>
<td valign="top">mms</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Switzerland</b></td>
<td valign="top">Swisscom</td>
<td valign="top">event.swisscom.ch</td>
<td valign="top">192.168.210.2:8080</td>
<td valign="top">http://mmsc.swisscom.ch</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Syria</b></td>
<td valign="top">Syriatel</td>
<td valign="top">mms.syriatel.com</td>
<td valign="top">172.20.5.6:8080</td>
<td valign="top">http://mymms.syriatel.com</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Taiwan</b></td>
<td valign="top">Chunghwa</td>
<td valign="top">emome</td>
<td valign="top">10.1.1.1:8080</td>
<td valign="top">http://mms.emome.net:8002</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Taiwan</b></td>
<td valign="top">FarEasTone</td>
<td valign="top">fetnet01</td>
<td valign="top">210.241.199.199:8080</td>
<td valign="top">http://mms</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Taiwan</b></td>
<td valign="top">KG Telcom</td>
<td valign="top">kgtmms</td>
<td valign="top">172.28.33.5:8080</td>
<td valign="top">http://mms.kgtmms.net.tw/mms/wapenc</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Taiwan</b></td>
<td valign="top">MoBiTai</td>
<td valign="top">gprs1</td>
<td valign="top">192.168.77.5:8080</td>
<td valign="top">http://mms.mobeelife.net/mms/wapenc</td>
<td valign="top">gprs</td>
<td valign="top">gprs</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Taiwan</b></td>
<td valign="top">TWN</td>
<td valign="top">mms</td>
<td valign="top">10.1.1.2:8080</td>
<td valign="top">http://mms</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Taiwan</b></td>
<td valign="top">TransAsia</td>
<td valign="top">hank</td>
<td valign="top">211.78.224.100:8080</td>
<td valign="top">http://mms</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Taiwan</b></td>
<td valign="top">Vibo</td>
<td valign="top">internet</td>
<td valign="top">210.241.199.199:8080</td>
<td valign="top">http://mms</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Thailand</b></td>
<td valign="top">AIS</td>
<td valign="top">multimedia</td>
<td valign="top">203.170.229.34:8080</td>
<td valign="top">http://mms.mobilelife.co.th</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Thailand</b></td>
<td valign="top">DTAC</td>
<td valign="top">mms</td>
<td valign="top">203.155.200.133:8080</td>
<td valign="top">http://mms.dtac.co.th:8002</td>
<td valign="top">-</td>
<td valign="top">0</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Thailand</b></td>
<td valign="top">Mobilelife</td>
<td valign="top">multimedia</td>
<td valign="top">203.170.229.34:8080</td>
<td valign="top">http://mms.mobilelife.co.th</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Thailand</b></td>
<td valign="top">Orange</td>
<td valign="top">mms</td>
<td valign="top">10.4.7.39:8080</td>
<td valign="top">http://mms.orange.co.th:8002</td>
<td valign="top">orange</td>
<td valign="top">orange</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Tunisia</b></td>
<td valign="top">Tuntel</td>
<td valign="top">mms.t1</td>
<td valign="top">213.150.186.106:8080</td>
<td valign="top">http://mms</td>
<td valign="top">mms@tt1</td>
<td valign="top">mms</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Turkey</b></td>
<td valign="top">Avea</td>
<td valign="top">mms</td>
<td valign="top">213.161.151.201:8080</td>
<td valign="top">http://mms.avea.com.tr/servlets/mms</td>
<td valign="top">mms</td>
<td valign="top">mms</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Turkey</b></td>
<td valign="top">Turkcell</td>
<td valign="top">mms</td>
<td valign="top">212.252.169.217:8080</td>
<td valign="top">http://mms.turkcell.com.tr/servlets/mms</td>
<td valign="top">mms</td>
<td valign="top">mms</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Turkey</b></td>
<td valign="top">Vodafone</td>
<td valign="top">mms</td>
<td valign="top">217.31.233.18:8080</td>
<td valign="top">http://mms:6001/MM1Servlet</td>
<td valign="top">mms</td>
<td valign="top">mms</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Turks &amp; Caicos Islands</b></td>
<td valign="top">Lime</td>
<td valign="top">multimedia</td>
<td valign="top">10.20.5.34:8799</td>
<td valign="top">http://mmsc</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>UAE</b></td>
<td valign="top">Etisalat</td>
<td valign="top">mms</td>
<td valign="top">10.12.0.30:8080</td>
<td valign="top">http:/mms/servlets/mms</td>
<td valign="top">mms</td>
<td valign="top">mms</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>UK</b></td>
<td valign="top">ASDA</td>
<td valign="top">asdamobilies.co.uk</td>
<td valign="top">212.183.137.12:8799</td>
<td valign="top">http://mms.asdamobiles.co.uk/servlets/mms</td>
<td valign="top">wap</td>
<td valign="top">wap</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>UK</b></td>
<td valign="top">BT</td>
<td valign="top">mobile.bt.uk</td>
<td valign="top">62.239.21.123:8080</td>
<td valign="top">http://mmsc.btmms.co.uk:8002</td>
<td valign="top">user</td>
<td valign="top">btmms</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>UK</b></td>
<td valign="top">GiffGaff</td>
<td valign="top">giffgaff.com</td>
<td valign="top">193.113.200.195:8080</td>
<td valign="top">http://mmsc.mediamessaging.co.uk:8002</td>
<td valign="top">giffgaff</td>
<td valign="top">password</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>UK</b></td>
<td valign="top">Jersey Telecom</td>
<td valign="top">mms</td>
<td valign="top">212.9.19.199:3130</td>
<td valign="top">http://mms.surfmail.com/mmsc</td>
<td valign="top">mms</td>
<td valign="top">mms</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>UK</b></td>
<td valign="top">Lebara</td>
<td valign="top">uk.lebara.mobi</td>
<td valign="top">212.183.137.12:8799</td>
<td valign="top">http://mms.lebara.co.uk/servlets/mms</td>
<td valign="top">wap</td>
<td valign="top">wap</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>UK</b></td>
<td valign="top">Manx Telecom (Isle of Man)</td>
<td valign="top">mms.manxpronto.net</td>
<td valign="top">195.10.99.46:8080</td>
<td valign="top">http://mms.manxpronto.net:8002</td>
<td valign="top">mms</td>
<td valign="top">mms</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>UK</b></td>
<td valign="top">Manx Telecom Pay As You Go (Isle of Man)</td>
<td valign="top">mms.prontogo.net</td>
<td valign="top">195.10.99.41:8080</td>
<td valign="top">http://mms.manxpronto.net:8002</td>
<td valign="top">mmsgo</td>
<td valign="top">mmsgo</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>UK</b></td>
<td valign="top">O2</td>
<td valign="top">wap.o2.co.uk</td>
<td valign="top">193.113.200.195:8080</td>
<td valign="top">http://mmsc.mms.o2.co.uk:8002</td>
<td valign="top">o2wap</td>
<td valign="top">password</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>UK</b></td>
<td valign="top">Orange</td>
<td valign="top">orangemms</td>
<td valign="top">192.168.224.10:8080</td>
<td valign="top">http://mms.orange.co.uk</td>
<td valign="top">Orange</td>
<td valign="top">Multimedia</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>UK</b></td>
<td valign="top">Sure C&amp;W</td>
<td valign="top">mms</td>
<td valign="top">10.0.3.101:80</td>
<td valign="top">http://mmsc.gprs.cw.com</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>UK</b></td>
<td valign="top">Tesco</td>
<td valign="top">prepay.tesco-mobile.com</td>
<td valign="top">193.113.200.195:8080</td>
<td valign="top">http://mmsc.mms.o2.co.uk:8002</td>
<td valign="top">tescowap</td>
<td valign="top">password</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>UK</b></td>
<td valign="top">T-Mobile</td>
<td valign="top">general.t-mobile.uk</td>
<td valign="top">149.254.211.10:8080</td>
<td valign="top">http://mmsc.t-mobile.co.uk:8002</td>
<td valign="top">user</td>
<td valign="top">one2one</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>UK</b></td>
<td valign="top">Virgin</td>
<td valign="top">goto.virginmobile.uk</td>
<td valign="top">193.30.166.1:8080</td>
<td valign="top">http://mms.virginmobile.co.uk:8002</td>
<td valign="top">user</td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>UK</b></td>
<td valign="top">Vodafone</td>
<td valign="top">wap.vodafone.co.uk</td>
<td valign="top">212.183.137.12:8799</td>
<td valign="top">http://mms.vodafone.co.uk/servlets/mms</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>UK</b></td>
<td valign="top">3</td>
<td valign="top">three.co.uk</td>
<td valign="top">217.171.129.2:8799</td>
<td valign="top">http://mms.um.three.co.uk:10021/mmsc</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Ukraine</b></td>
<td valign="top">Kyivstar</td>
<td valign="top">mms.kyivstar.net</td>
<td valign="top">10.10.10.10:8080</td>
<td valign="top">http://mms.kyivstar.net</td>
<td valign="top">mms</td>
<td valign="top">mms</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Ukraine</b></td>
<td valign="top">Life</td>
<td valign="top">mms</td>
<td valign="top">212.58.162.230:8080</td>
<td valign="top">http://mms.life.com.ua/cmmsc/post</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Ukraine</b></td>
<td valign="top">UMC</td>
<td valign="top">mms.umc.ua</td>
<td valign="top">192.168.10.10:8080</td>
<td valign="top">http://mmsc:8002</td>
<td valign="top">mms</td>
<td valign="top">umc</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Uruguay</b></td>
<td valign="top">Ancel</td>
<td valign="top">mms</td>
<td valign="top">200.40.246.2:3128</td>
<td valign="top">http://mmsc.mms.ancuelutil.com.uy</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Uruguay</b></td>
<td valign="top">Claro</td>
<td valign="top">mms.ctimovil.com.uy</td>
<td valign="top">170.51.255.240:8080</td>
<td valign="top">http://mms.ctimovil.com.uy</td>
<td valign="top">ctigprs</td>
<td valign="top">ctigprs999</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Uruguay</b></td>
<td valign="top">Movistar</td>
<td valign="top">mmsapn.movistar.com.uy</td>
<td valign="top">10.0.2.29:8080</td>
<td valign="top">http://mmsc.movistar.com.uy</td>
<td valign="top">mmsuy</td>
<td valign="top">mmsuy</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>USA</b></td>
<td valign="top">AT&amp;T</td>
<td valign="top">wap.cingular</td>
<td valign="top">66.209.11.32:80</td>
<td valign="top">http://mmsc.cingular.com</td>
<td valign="top">wap@cingulargprs.com</td>
<td valign="top">cingular1</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>USA</b></td>
<td valign="top">Cincinnati Bell</td>
<td valign="top">wap.gocbw.com</td>
<td valign="top">216.68.79.202:80</td>
<td valign="top">http://mms.gocbw.com:8088/mms</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>USA</b></td>
<td valign="top">Claro Puerto Rico</td>
<td valign="top">mms.claropr.com</td>
<td valign="top">10.50.38.3:8799</td>
<td valign="top">http://mmsg.claropr.com:10021/mmsc</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>USA</b></td>
<td valign="top">Net10 (AT&amp;T)</td>
<td valign="top">tfdata</td>
<td valign="top">66.209.11.33:80</td>
<td valign="top">http://mms-tf.net</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>USA</b></td>
<td valign="top">Net10 (T-Mobile)</td>
<td valign="top">wap.tracfone</td>
<td valign="top">216.155.165.40:8080</td>
<td valign="top">http://mms.tracfone.com</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>USA</b></td>
<td valign="top">Straight Talk (AT&amp;T)</td>
<td valign="top">att.mvno</td>
<td valign="top">66.209.11.33:80</td>
<td valign="top">http://mmsc.cingular.com</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>USA</b></td>
<td valign="top">Straight Talk (T-Mobile)</td>
<td valign="top">wap.tracfone</td>
<td valign="top">216.155.165.40:8080</td>
<td valign="top">http://mms.tracfone.com</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>USA</b></td>
<td valign="top">T-Mobile</td>
<td valign="top">wap.voicestream.com</td>
<td valign="top">216.155.165.50:8080</td>
<td valign="top">http://216.155.174.84/servlets/mms</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>USA</b></td>
<td valign="top">Tracfone</td>
<td valign="top">att.mvno</td>
<td valign="top">66.209.11.33:80</td>
<td valign="top">http://mmsc.cingular.com</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>USA</b></td>
<td valign="top">Union Wireless</td>
<td valign="top">union.mms.com</td>
<td valign="top">166.230.4.83:80</td>
<td valign="top">http://mms.unionwireless.com</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Uzbekistan</b></td>
<td valign="top">Beeline</td>
<td valign="top">mms.beeline.uz</td>
<td valign="top">172.30.30.166:8080</td>
<td valign="top">http://mms.beeline.uz/mms/wapenc</td>
<td valign="top">beeline</td>
<td valign="top">beeline</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Uzbekistan</b></td>
<td valign="top">Unitel</td>
<td valign="top">mms.unitel</td>
<td valign="top">10.10.0.10:8080</td>
<td valign="top">http://mms.unitel.uz/was</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Venezuela</b></td>
<td valign="top">Digitel</td>
<td valign="top">gprsweb.digitel.ve</td>
<td valign="top">10.99.0.10:8080</td>
<td valign="top">http://mms.412.com.ve/serviets/mms</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Venezuela</b></td>
<td valign="top">Movilnet</td>
<td valign="top">mm.movilnet.com.ve</td>
<td valign="top">192.168.16.12:8080</td>
<td valign="top">http://mms2.movilnet.com.ve/servlets/mms</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Venezuela</b></td>
<td valign="top">Movistar</td>
<td valign="top">mms.movistar.ve</td>
<td valign="top">200.35.64.73</td>
<td valign="top">http://mms.movistar.com.ve:8088/mms</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Vietnam</b></td>
<td valign="top">Mobifone</td>
<td valign="top">m-wap</td>
<td valign="top">203.162.21.114:8080</td>
<td valign="top">http://203.162.21.114/mmsc</td>
<td valign="top">mms</td>
<td valign="top">mms</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Vietnam</b></td>
<td valign="top">Vinafone</td>
<td valign="top">m3-mms</td>
<td valign="top">10.1.10.46:80</td>
<td valign="top">http://mms.vinaphone.vnn.vn:8002</td>
<td valign="top">mms</td>
<td valign="top">mms</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Yemen</b></td>
<td valign="top">Sabafon</td>
<td valign="top">mms</td>
<td valign="top">192.168.30.174:8080</td>
<td valign="top">http://mms.sabafon.com</td>
<td valign="top">wap</td>
<td valign="top">wap</td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Yugoslavia</b></td>
<td valign="top">Mobtel</td>
<td valign="top">mms</td>
<td valign="top">217.65.192.33:8080</td>
<td valign="top">http://mms.mobtel.co.yu/servlets/mms</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
<tr>
<td class="apnlistheader" valign="top"><b>Yugoslavia</b></td>
<td valign="top">Monet</td>
<td valign="top">mms.monetcg.com</td>
<td valign="top">10.0.5.19:8080</td>
<td valign="top">http://192.168.180.100/servlets/mms</td>
<td valign="top"></td>
<td valign="top"></td>
</tr>
</tbody>
</table>
</div>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.nowsms.com/mobile-operator-mmsc-settings/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>WAP Push Work-Around for AT&amp;T USA</title>
		<link>http://www.nowsms.com/wap-push-att-usa-gsm-modem</link>
		<comments>http://www.nowsms.com/wap-push-att-usa-gsm-modem#comments</comments>
		<pubDate>Fri, 12 Apr 2013 14:47:17 +0000</pubDate>
		<dc:creator>brett</dc:creator>
				<category><![CDATA[Support Blog]]></category>
		<category><![CDATA[WAP Push]]></category>

		<guid isPermaLink="false">http://www.nowsms.com/?p=13609</guid>
		<description><![CDATA[Some of our customers have been frustrated by an AT&#38;T policy that blocks the sending of mobile originated WAP Push messages.  This prevents WAP Push messages from being sent over a GSM modem.  This blocking affects all messages that are sent via WAP Push, not just service indication messages, but also blocking OMA OTA settings [...]]]></description>
				<content:encoded><![CDATA[<p>Some of our customers have been frustrated by an AT&amp;T policy that blocks the sending of mobile originated WAP Push messages.  This prevents WAP Push messages from being sent over a GSM modem.  This blocking affects all messages that are sent via WAP Push, not just service indication messages, but also blocking OMA OTA settings and MMS notifications.</p>
<p>A NowSMS customer discovered a potential work-around by changing the TP-Protocol-ID (PID) value in the SMS message.</p>
<p>NowSMS has been updated to use configurable DCS and PID values when sending all types of WAP Push messages (including OMA OTA config). Previous versions of NowSMS only allowed the DCS value to be configured for WAP Push. These settings are available in NowSMS version 2013.04.01 and later.  (An update that supports these configurable values is available at <a href="http://www.nowsms.com/download/nowsms20130401.zip">http://www.nowsms.com/download/nowsms20130401.zip</a>.)</p>
<p>By default, NowSMS uses a DCS value of F5 (binary, message class=2, ME specific) and a PID value of 0, which would be considered normal values.</p>
<p>It has been previously noticed that some providers will not accept DCS=F5 over a GSM modem connection and require a value of DCS=4 (generic binary).</p>
<p>One of our customers noticed in testing that by changing the PID value to 1 allowed WAP Push messages to be sent over a modem on the AT&amp;T network. Technically speaking, PID=1 is an odd setting as it technically means the message originated as a Telex. We are suggesting that customers instead try using PID=41, which is a more normal setting, meaning replace short message type 1.</p>
<p>To set DCS or PID overrides for WAP Push messages generated by NowSMS, it is necessary to manually edit SMSGW.INI and under the [SMSGW] header, add:</p>
<p>PushDCS=F5<br />
PushPID=41</p>
<p>(or try PushPID=1 if 41 does not work)</p>
<p>Please note that it is possible that AT&amp;T may also decide to prevent this work-around. And note that cross operator WAP Push continues to be unavailable for messages submitted via a GSM modem in the USA.</p>
<p>Additional discussion of this issue can be found on our discussion forum at <a href="http://www.nowsms.com/discus/messages/1/71586.html" target="_blank">http://www.nowsms.com/discus/messages/1/71586.html</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.nowsms.com/wap-push-att-usa-gsm-modem/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SMS Hubbing Considerations</title>
		<link>http://www.nowsms.com/sms-hubbing-considerations</link>
		<comments>http://www.nowsms.com/sms-hubbing-considerations#comments</comments>
		<pubDate>Sat, 06 Apr 2013 00:19:59 +0000</pubDate>
		<dc:creator>brett</dc:creator>
				<category><![CDATA[Support Blog]]></category>
		<category><![CDATA[SMPP]]></category>
		<category><![CDATA[SMPP Server]]></category>
		<category><![CDATA[SMS hubbing]]></category>

		<guid isPermaLink="false">http://www.nowsms.com/?p=13581</guid>
		<description><![CDATA[NowSMS is frequently used to provide SMS message routing connectivity between multiple SMSCs using the SMPP protocol. The purpose of this document is to clarify issues that are frequently encountered in SMS hubbing configurations. In SMS hubbing configurations, NowSMS is connected to one or more service providers using the SMPP protocol. Service providers route selected [...]]]></description>
				<content:encoded><![CDATA[<p>NowSMS is frequently used to provide SMS message routing connectivity between multiple SMSCs using the SMPP protocol. The purpose of this document is to clarify issues that are frequently encountered in SMS hubbing configurations.</p>
<p>In SMS hubbing configurations, NowSMS is connected to one or more service providers using the SMPP protocol. Service providers route selected SMS messages to NowSMS over an SMPP connection, and NowSMS is then used to route the SMS message to a different service provider over another SMPP connection.</p>
<p>The concept is simple, but the implementation can be challenging, due in part to issues of routing and mobile number portability (MNP), and due to the architecture of the SMPP protocol.</p>
<p>Message routing in NowSMS is controlled by either prefix routing or dynamic HTTP-based routing callbacks. Message routing is discussed in a separate article titled <a href="http://www.nowsms.com/dynamic-sms-message-routing-with-http-callbacks" target="_blank">Dynamic SMS Message Routing with HTTP Callbacks</a>.</p>
<p>When configuring an SMPP connection for hubbing, an important consideration is which party initiates the connection. This is important because the SMPP protocol assumes a client-server relationship. The party that initiates a connection is the client, or ESME. The party that accepts the connection is considered the server, or SMSC.</p>
<p>SMPP connections where NowSMS initiates the connection (NowSMS = ESME) are defined in the “SMSC” list.</p>
<p>SMPP connections where the other party initiates the connection (NowSMS = SMSC) are defined in the “SMS Users” list.</p>
<p>An ESME transmits SMS messages to an SMSC using an SMPP data packet called submit_sm.</p>
<p>An SMSC transmits SMS messages to an ESME using an SMPP data packet called deliver_sm.</p>
<p>Figure 1 illustrates the typical message flow in a simple ESME to SMSC configuration.</p>
<p><a href="http://images.nowsms.com/2013/04/fig1-simple-esme-to-smsc.jpg"><img class="alignnone  wp-image-13582" alt="Simple ESME to SMSC" src="http://images.nowsms.com/2013/04/fig1-simple-esme-to-smsc-819x1024.jpg" width="573" height="717" /></a></p>
<p>A hub connection is not a client-server relationship, instead logically it is a peer-to-peer connection. However, the SMPP protocol rules must still be followed and submit_sm or deliver_sm must be used depending on the direction of the connection.</p>
<p>Differences between submit_sm and deliver_sm create problems for message ID tracking, particularly with regard to delivery reports. This is because SMPP message IDs are not global, but exist only on a hop-by-hop basis.</p>
<p>When an ESME submits an SMS message to an SMSC using submit_sm, the SMSC assigns a new message ID when accepting the message, and returns the newly assigned message ID in the submit_sm response. The SMSC has no knowledge of any previously assigned message ID. From this point forward, any delivery reports that might be generated will reference the message by this new message ID. Any upstream SMSC will eventually route a deliver_sm packet containing this delivery report back to the ESME, and the ESME will need to have remembered/tracked the message ID assignment from the submit_sm response in order to know the message to which it refers.</p>
<p>In an SMS hubbing scenario, if an SMSC has a message to route to an ESME, it uses deliver_sm to transfer the message. The deliver_sm packet contains no message ID information, so the receiving ESME has no knowledge of message IDs that were previously assigned to the message. To further process the message, the ESME needs to assign a new message ID to the message. Unlike the submit_sm response, the deliver_sm response cannot report this newly assigned message ID back to the other side of the connection. Any delivery reports generated will reference this new message ID, however this message ID is not known to the original SMSC, and it cannot be tracked back to the original message to which it refers.</p>
<p>Figures 2 and 3 highlight the problems encountered when the SMS hub functions solely in the role of SMSC or ESME.</p>
<p><a href="http://images.nowsms.com/2013/04/fig2-sms-hub-as-smsc.jpg"><img class="alignnone  wp-image-13588" alt="fig2-sms-hub-as-smsc" src="http://images.nowsms.com/2013/04/fig2-sms-hub-as-smsc-819x1024.jpg" width="573" height="717" /></a></p>
<p><a href="http://images.nowsms.com/2013/04/fig3-sms-hub-as-esme.jpg"><img class="alignnone  wp-image-13589" alt="fig3-sms-hub-as-esme" src="http://images.nowsms.com/2013/04/fig3-sms-hub-as-esme-819x1024.jpg" width="573" height="717" /></a></p>
<p>In a typical SMS aggregator scenario, an upstream SMSC functions as both an SMSC and ESME when routing messages, and is able to successfully route messages from ESME to the upstream SMSC and delivery reports from the upstream SMSC back to the ESME, as shown in Figure 4.</p>
<p><a href="http://images.nowsms.com/2013/04/fig4-upstream-smsc-as-hybrid.jpg"><img class="alignnone  wp-image-13590" alt="fig4-upstream-smsc-as-hybrid" src="http://images.nowsms.com/2013/04/fig4-upstream-smsc-as-hybrid-819x1024.jpg" width="573" height="717" /></a></p>
<p>However, this scenario still expects a client-server relationship.</p>
<p>There are two ways to overcome these limitations for true peer-to-peer SMS hubbing.</p>
<p>1.) Each side of a hub connection connect to the other party as both ESME and SMSC. Regular SMS messages are always routed from ESME to SMSC, and delivery reports are always routed from SMSC to ESME. From a NowSMS perspective, the NowSMS initiated connection is defined in the “SMSC” list, and the other party initiated connection is defined in the “SMS Users” list.</p>
<p>This scenario is illustrated in Figure 5.</p>
<p><a href="http://images.nowsms.com/2013/04/fig5-sms-hub-as-hybrid.jpg"><img class="alignnone  wp-image-13591" alt="fig5-sms-hub-as-hybrid" src="http://images.nowsms.com/2013/04/fig5-sms-hub-as-hybrid-819x1024.jpg" width="573" height="717" /></a></p>
<p>2.) Instead of using submit_sm and deliver_sm, the SMPP protocol defines an alternative packet format called data_sm. This data_sm packet can be used regardless of the direction of the connection, and when used in place of deliver_sm, can return message ID information. NowSMS 2013 provides configuration settings to enable the use of data_sm for either an ESME or SMSC connection.</p>
<p>This scenario is illustrated in Figure 6.</p>
<p><a href="http://images.nowsms.com/2013/04/fig6-sms-hub-uses-data-sm.jpg"><img class="alignnone  wp-image-13592" alt="fig6-sms-hub-uses-data-sm" src="http://images.nowsms.com/2013/04/fig6-sms-hub-uses-data-sm-819x1024.jpg" width="573" height="717" /></a></p>
<p>NowSMS always performs automatic SMPP message tracking, translation and routing for delivery reports. However, the expected flow of delivery reports is from SMSC to ESME. In order for NowSMS to be able to properly understand and route a delivery report received from an ESME (i.e., “SMS Users” connection), NowSMS must be configured to “Use data_sm PDU” when communicating with this account.</p>
<p><a href="http://images.nowsms.com/2013/04/smpp-use-data-sm.jpg"><img class=" wp-image-13593 alignright" alt="smpp-use-data-sm" src="http://images.nowsms.com/2013/04/smpp-use-data-sm.jpg" width="289" height="479" /></a>Similarly, If the connection is defined in the NowSMS “SMSC” list, it is also normal to enable the setting “Re-Route Received Messages for Outbound Delivery” under the Advanced Settings for the SMPP connection. Normally, messages received from an SMSC connection are routed to a 2-way command for processing. This setting changes the behaviour so that messages received from this SMSC connection are queued for outbound delivery.</p>
<p>Important Note: Do not confuse SMS hubbing and ESME/SMSC roles with the concept of whether or not to use a transceiver connection. The concept of one connection vs. two connections is similar, but different.</p>
<p>When an ESME initiates a connection to an SMSC, it specifies what type of connection it wants. Connection types are transmitter (send only), receiver (receive only) and transceiver (send and receive). When NowSMS connects to an SMSC, the default behaviour is to use separate transmitter and receiver connections. Transceiver mode can be enabled to use a single connection for both sending and receiving messages.</p>
<p>With a transceiver connection, the initiating side of the connection is still considered to be in the role of ESME. Therefore the hubbing considerations of which party is ESME and which is SMSC still apply.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.nowsms.com/sms-hubbing-considerations/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>NowSMS MMSC Diameter MM9 Implementation</title>
		<link>http://www.nowsms.com/mmsc-diameter-mm9-implementation</link>
		<comments>http://www.nowsms.com/mmsc-diameter-mm9-implementation#comments</comments>
		<pubDate>Tue, 02 Apr 2013 14:20:41 +0000</pubDate>
		<dc:creator>brett</dc:creator>
				<category><![CDATA[Support Blog]]></category>
		<category><![CDATA[accounting callbacks]]></category>
		<category><![CDATA[billing]]></category>
		<category><![CDATA[charging]]></category>
		<category><![CDATA[operator MMSC]]></category>

		<guid isPermaLink="false">http://www.nowsms.com/?p=13472</guid>
		<description><![CDATA[Click here for a PDF version of this document. This document outlines how MMS charging is implemented using Diameter and MM9 in the NowSMS MMSC. It also describes a test program that is used to validate proper Diameter configuration parameters and charging behaviour. MM9 Diameter charging is enabled in NowSMS MMSC versions 2013.04.01 and later. [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.nowsms.com/download/mm9test.pdf" target="_blank">Click here for a PDF version of this document.</a></p>
<p>This document outlines how MMS charging is implemented using Diameter and MM9 in the NowSMS MMSC. It also describes a test program that is used to validate proper Diameter configuration parameters and charging behaviour. MM9 Diameter charging is enabled in NowSMS MMSC versions 2013.04.01 and later.</p>
<p>The MMSC implements Diameter Credit Control for charging based upon the following specifications:</p>
<ul>
<li>[DIAMBASE] – <a href="http://www.ietf.org/rfc/rfc3588.txt">RFC 3588 – Diameter Base Protocol</a></li>
<li>[DIAMCCA] – <a href="http://www.ietf.org/rfc/rfc4006.txt">RFC 4006 – Diameter Credit Control Application</a></li>
<li>[3GPPDIAM] – <a href="http://www.3gpp.org/ftp/Specs/html-info/32299.htm">3GPP TS 32.299 – 3GPP Diameter Charging Applications</a></li>
<li>[SCAPv2] – <a href="http://devtools.ericsson.com/charging-sdk/overview">Ericsson CCN SCAPv2</a></li>
</ul>
<p>[3GPPDIAM] defines a standard format for implementing MMS charging over Diameter, known as MM9 in the MMS protocol specifications. While the MMSC preference is to use MM9, it is also possible to configure the MMSC to use generic charging primitives defined in [DIAMCCA] in order to facilitate interoperability with a wider base of charging systems.</p>
<p>Optionally, Diameter extensions defined in Ericsson&#8217;s [SCAPv2] protocol can be enabled.</p>
<p>The MMSC Diameter MM9 implementation is highly configurable, with configuration settings that allow the Diameter requests to be tuned to meet the requirements of different charging systems. The core Diameter charging requests use Credit-Control-Request as defined in [DIAMCCA]. Several extension sets are defined that provide additional Diameter parameters to be include in the charging request.</p>
<p>For maximum flexibility, XML template files are used to define the underlying Diameter requests, allowing for custom parameters to be added or deleted as required.</p>
<p>The MMSC generates two different Diameter requests, which are described in detail in this document.</p>
<p><strong>Capabilities-Exchange-Request</strong> is used to initiate the connection and identify that the connection is to be used for Diameter Credit-Control. In response, the MMSC expects to receive a Capabilities-Exchange-Answer that contains a Result-Code of 2001 to indicate success.</p>
<p><strong>Credit-Control-Request</strong> is used to provide details for an MMS charging operation. In response, the MMSC expects to receive a Capabilities-Exchange-Answer that contains a Result-Code of 2001 to indicate success. The MMSC will reject the MMS submission if any other Result-Code is received.</p>
<p>&nbsp;</p>
<table style="table-layout: fixed;" width="100%" border="1" cellspacing="0" cellpadding="7">
<tbody>
<tr valign="TOP">
<td width="200"><span style="font-family: 'Courier New', monospace;"><span style="font-size: large;"><b>Capabilities-Exchange-Request</b></span></span></td>
<td width="32"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;"><b>AVP Code</b></span></span></td>
<td width="72"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;"><b>Protocol</b></span></span></td>
<td width="220"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;"><b>Usage Notes</b></span></span></td>
</tr>
<tr valign="TOP">
<td width="200"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">&lt; Diameter Header &gt;</span></span></td>
<td width="32"></td>
<td width="72"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">DIAMBASE</span></span></td>
<td width="220"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">Command-code = 257, REQ</span></span></td>
</tr>
<tr valign="TOP">
<td width="200"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">{Origin-Host}</span></span></td>
<td width="32"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">264</span></span></td>
<td width="72"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">DIAMBASE</span></span></td>
<td width="220"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">Configurable – Local Origin-Host name associated with MMSC</span></span></td>
</tr>
<tr valign="TOP">
<td width="200"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">{Origin-Realm}</span></span></span></span></td>
<td width="32"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">296</span></span></td>
<td width="72"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">DIAMBASE</span></span></td>
<td width="220"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">Configurable – Local Origin-Realm name associated with MMSC</span></span></td>
</tr>
<tr valign="TOP">
<td width="200"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">{Host-IP-Address}</span></span></td>
<td width="32"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">257</span></span></td>
<td width="72"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">DIAMBASE</span></span></td>
<td width="220"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">Configurable – Local IP address associated with MMSC</span></span></td>
</tr>
<tr valign="TOP">
<td width="200"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">{Vendor-ID}</span></span></td>
<td width="32"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">266</span></span></td>
<td width="72"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">DIAMBASE, 3GPPDIAM</span></span></td>
<td width="220"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">Value is 0, defined in DIAMBASE as indicating that the field should be ignored.</span></span></span></span></td>
</tr>
<tr valign="TOP">
<td width="200"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">{Product-Name}</span></span></td>
<td width="32"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">269</span></span></td>
<td width="72"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">DIAMBASE</span></span></td>
<td width="220"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">Value is MMSC</span></span></span></span></td>
</tr>
<tr valign="TOP">
<td width="200"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">{Auth-Application-ID}</span></span></td>
<td width="32"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">258</span></span></td>
<td width="72"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">DIAMBASE, DIAMCCA</span></span></td>
<td width="220"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">Value is 4, as specified in DIAMCCA</span></span></span></span></td>
</tr>
<tr valign="TOP">
<td width="200"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">{Acct-Application-ID}</span></span></td>
<td width="32"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">259</span></span></td>
<td width="72"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">DIAMBASE</span></span></td>
<td width="220"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">Value is 0</span></span></span></span></td>
</tr>
<tr valign="TOP">
<td width="200"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">{Supported-Vendor-ID}</span></span></td>
<td width="32"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">265</span></span></td>
<td width="72"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">DIAMBASE</span></span></td>
<td width="220"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">Value is 10415, the 3GPP code defined in 3GPPDIAM<br />
(If the request fails, the MMSC will try again without indicating support for this vendor ID.)</span></span></span></span></td>
</tr>
<tr valign="TOP">
<td width="200"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">{Supported-Vendor-ID}</span></span></td>
<td width="32"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">265</span></span></td>
<td width="72"></td>
<td width="220"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">Value is 193, the vendor ID code registered for Ericsson SCAP extensions.<br />
(If the request fails, the MMSC will try again without indicating support for this vendor ID.)</span></span></span></span></td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<table style="table-layout: fixed;" width="100%" border="1" cellspacing="0" cellpadding="7">
<tbody>
<tr valign="TOP">
<td width="200"><span style="font-family: 'Courier New', monospace;"><span style="font-size: large;"><b>Credit-Control-Request</b></span></span></td>
<td width="32"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;"><b>AVP Code</b></span></span></td>
<td width="72"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;"><b>Protocol</b></span></span></td>
<td width="220"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;"><b>Usage Notes</b></span></span></td>
</tr>
<tr valign="TOP">
<td width="200"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">&lt; Diameter Header &gt;</span></span></td>
<td width="32"></td>
<td width="72"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">DIAMBASE</span></span></td>
<td width="220"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">Command-code = 272, REQ, Application-ID = 4</span></span></td>
</tr>
<tr valign="TOP">
<td width="200"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">{Session-Id}</span></span></td>
<td width="32"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">263</span></span></td>
<td width="72"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">DIAMCCA</span></span></td>
<td width="220"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">Dynamically generated</span></span></td>
</tr>
<tr valign="TOP">
<td width="200"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">{Origin-Host}</span></span></td>
<td width="32"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">264</span></span></td>
<td width="72"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">DIAMBASE</span></span></td>
<td width="220"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">Configurable – Local Origin-Host name associated with MMSC</span></span></td>
</tr>
<tr valign="TOP">
<td width="200"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">{Origin-Realm}</span></span></span></span></td>
<td width="32"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">296</span></span></td>
<td width="72"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">DIAMBASE</span></span></td>
<td width="220"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">Configurable – Local Origin-Realm name associated with MMSC</span></span></td>
</tr>
<tr valign="TOP">
<td width="200"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">[Destination-Host]</span></span></td>
<td width="32"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">293</span></span></td>
<td width="72"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">DIAMBASE</span></span></td>
<td width="220"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">Optional – Destination-Host name associated with charging server</span></span></td>
</tr>
<tr valign="TOP">
<td width="200"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">{Destination-Realm}</span></span></span></span></td>
<td width="32"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">283</span></span></td>
<td width="72"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">DIAMBASE</span></span></td>
<td width="220"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">Configurable – Destination-Realm name associated with charging server</span></span></td>
</tr>
<tr valign="TOP">
<td width="200"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">{Auth-Application-Id}</span></span></td>
<td width="32"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">258</span></span></td>
<td width="72"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">DIAMBASE, DIAMCCA</span></span></td>
<td width="220"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">Value is</span></span></span></span><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;"> 4, as defined in DIAMCCA</span></span></td>
</tr>
<tr valign="TOP">
<td width="200"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">{Service-Context-Id}</span></span></td>
<td width="32"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">461</span></span></td>
<td width="72"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">DIAMCCA, 3GPPDIAM</span></span></td>
<td width="220"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">Configurable – Default value is 32270@3gpp.org as defined in 3GPPDIAM to indicate MMS charging.</span></span></span></span><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">When using generic DIAMCCA, other values may be required, such as SCAP_V.2.0@ericsson.com for Ericsson&#8217;s SCAP.</span></span></span></span></td>
</tr>
<tr valign="TOP">
<td width="200"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">{CC-Request-Type}</span></span></td>
<td width="32"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">416</span></span></td>
<td width="72"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">DIAMCCA</span></span></td>
<td width="220"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">Value is EVENT_REQUEST</span></span></span></span></td>
</tr>
<tr valign="TOP">
<td width="200"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">{CC-Request-Number}</span></span></td>
<td width="32"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">415</span></span></td>
<td width="72"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">DIAMCCA</span></span></td>
<td width="220"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">Value is currently 0.</span></span></span></span><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">Note that other values may be used in the future.</span></span></span></span></td>
</tr>
<tr valign="TOP">
<td width="200"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">[Event-Timestamp]</span></span></td>
<td width="32"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">55</span></span></td>
<td width="72"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">DIAMBASE</span></span></td>
<td width="220"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">Time of Charging Request</span></span></td>
</tr>
<tr valign="TOP">
<td width="200"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">{Subscription-Id}</span></span></span></span><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">   {Subscription-Id-Type}</span></span></span></span></p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">   {Subscription-Id-Data}</span></span></span></span></td>
<td width="32"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">443</span></span><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">450</span></span></p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">444</span></span></td>
<td width="72"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">DIAMCCA</span></span></td>
<td width="220"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">Group AVP contains Subscription-Id-Data and Subscription-Type.</span></span><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">Subscription-Id-Data: </span></span><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">MSISDN of the account (including country code).</span></span></p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">Subscription-Type: </span></span><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">Value is 0 (END_USER_E164)</span></span></p>
<p>&nbsp;</td>
</tr>
<tr valign="TOP">
<td width="200"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">{Requested-Action}</span></span></span></span></td>
<td width="32"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">436</span></span></td>
<td width="72"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">DIAMCCA</span></span></td>
<td width="220"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">Value is 0 (DIRECT_DEBITING)</span></span></td>
</tr>
<tr valign="TOP">
<td width="200"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">[3GPP-MS-TimeZone]</span></span></span></span></td>
<td width="32"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">23</span></span></td>
<td width="72"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">3GPPDIAM</span></span></td>
<td width="220"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">Value indicates the time-zone of the MMSC.</span></span><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">Required by Ericsson SCAPv2.</span></span></p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">This setting is included only if either the SCAP or 3GPPTIMEZONE Diameter extension set is enabled.</span></span></td>
</tr>
<tr valign="TOP">
<td width="200"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">[3GPP-SGSN-MCC-MNC]</span></span></span></span></td>
<td width="32"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">18</span></span></td>
<td width="72"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">3GPPDIAM</span></span></td>
<td width="220"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">Optional, included only if available to the MMSC, the SGSN MCC-MNC value can be used to detect roaming subscribers. See <a href="http://www.nowsms.com/operator-mmsc-accounting-detecting-roaming-subscribers">Operator MMSC Accounting – Detecting Roaming Subscribers</a></span></span></td>
</tr>
<tr valign="TOP">
<td width="200"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">[SGSN-ADDRESS]</span></span></span></span></td>
<td width="32"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">1228</span></span></td>
<td width="72"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">3GPPDIAM</span></span></td>
<td width="220"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">Optional, included only if available to the MMSC, the IP Address of the SGSN can be used to detect roaming subscribers. See <a href="http://www.nowsms.com/operator-mmsc-accounting-detecting-roaming-subscribers">Operator MMSC Accounting – Detecting Roaming Subscribers</a></span></span></td>
</tr>
<tr valign="TOP">
<td width="200"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">[Service-Identifier]</span></span></span></span></td>
<td width="32"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">439</span></span></td>
<td width="72"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">DIAMCCA</span></span></td>
<td width="220"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">Optional integer value.</span></span></td>
</tr>
<tr valign="TOP">
<td width="200"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">[Requested-Service-Unit</span></span></span></span><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;"><span><span>]</span></span></span></span><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;"><span><span>  [CC-Money]</span></span></span></span></p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">    [Unit-Value]</span></span></span></span></p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">      [Value-Digits]</span></span></span></span></p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">      [Exponent]</span></span></span></span></p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">    [Currency-Code]</span></span></span></span></p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">  [CC-Service-Specific-Units]</span></span></span></span></td>
<td width="32"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">437</span></span><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">413</span></span></p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">445</span></span></p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">447</span></span></p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">429</span></span></p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">425</span></span></p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">417</span></span></td>
<td width="72"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">DIAMCCA</span></span></td>
<td width="220"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">Optional. Used only if generic DIAMCCA charging is being used.</span></span><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">DIAMCCA allows for either a fixed price (with ISO 4217 numeric currency code, e.g., USD=840, EUR=978) or a fixed service specific integer value associated with a Service-Identifier.</span></span></p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">MMSC will generate these fields if corresponding Requested-Service values are specified. In the case of CC-Money, MMSC expects a decimal format value and will generate Value-Digits and Exponent as appropriate. (For example, CC-Money = 0.25 generates Value-Digits = 25 and Exponent = -2.)</span></span></p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">When configuring these settings, do not specify both CC-Service-Specific-Units and CC-Money. Specify either CC-Service-Specific-Units or CC-Money+Currency-Code.</span></span></td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<table style="table-layout: fixed;" width="100%" border="1" cellspacing="0" cellpadding="7">
<tbody>
<tr valign="TOP">
<td width="200"><span style="font-family: 'Courier New', monospace;"><span style="font-size: large;"><b>Credit-Control-Request: 3GPP Extension Set</b></span></span></td>
<td width="32"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;"><b>AVP Code</b></span></span></td>
<td width="72"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;"><b>Protocol</b></span></span></td>
<td width="220"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;"><b>Usage Notes</b></span></span></td>
</tr>
<tr valign="TOP">
<td width="200"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">[Service-Information]</span></span></span></span><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">  [MMS-Information]</span></span></span></span></p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">    [Originator-Address]</span></span></p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">      [Address-Type]</span></span></p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">      [Address-Data]</span></span></p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">    [Recipient-Address]</span></span></p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">      [Address-Type]</span></span></p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">      [Address-Data]</span></span></p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">    [Submission-Time]</span></span></p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">    [MM-Content-Type]</span></span></p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">      [Type-Number]</span></span></p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">      [Content-Size]</span></span></p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">    [Message-ID]</span></span></p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">    [Message-Type]</span></span></p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">    [Message-Size]</span></span></p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">    [Message-Class]</span></span></p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">      [Class-Identifier]</span></span></td>
<td width="32"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">873</span></span><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">877</span></span></p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">886</span></span></p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">899</span></span></p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">897</span></span></p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">1201</span></span></p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">899</span></span></p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">897</span></span></p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">1202</span></span></p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">1203</span></span></p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">1204</span></span></p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">1206</span></span></p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">1210</span></span></p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">1211</span></span></p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">1212</span></span></p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">1213</span></span></p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">1214</span></span></td>
<td width="72"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">3GPPDIAM</span></span></td>
<td width="220"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">Contains grouped AVP values containing information about the MMS message, including originator and recipient.</span></span><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">Parameter flag is set as optional, meaning the server can ignore if it does not understand this parameter. In that case, generic DIAMCCA Requested-Service-Unit parameters of money or units should be used.</span></span></td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<table style="table-layout: fixed;" width="100%" border="1" cellspacing="0" cellpadding="7">
<tbody>
<tr valign="TOP">
<td width="200"><span style="font-family: 'Courier New', monospace;"><span style="font-size: large;"><b>Credit-Control-Request: SCAP Extension Set</b></span></span></td>
<td width="32"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;"><b>AVP Code</b></span></span></td>
<td width="72"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;"><b>Protocol</b></span></span></td>
<td width="220"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;"><b>Usage Notes</b></span></span></td>
</tr>
<tr valign="TOP">
<td width="200"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">{Traffic-Case}</span></span></span></span><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">{Other-Party-Id}</span></span></span></span></p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">  {Other-Party-Nature}</span></span></p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">  {Other-Party-Data}</span></span></p>
<p><span style="font-size: small; font-family: 'Courier New', monospace; line-height: 19px;">  {Other-Party-Type}</span></p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">{Service-Provider-Id}</span></span></p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">{Subscription-Id-Location}</span></span></td>
<td width="32"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">1082</span></span><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">1075</span></span></p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">1076</span></span></p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">1077</span></span></p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">1078</span></span></p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">1081</span></span></p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">1074</span></span></td>
<td width="72"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">SCAPv2</span></span></td>
<td width="220"><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">20 (Originating Service)</span></span><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">Recipient address.</span></span></p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">Nature=1 (International)</span></span></p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;"> </span></span></p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">Type=0 (END_USER_E164)</span></span></p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">Optional, configurable.</span></span></p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: small;">Optional, configurable.</span></span></td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<h2>MM9Test Program</h2>
<p>&nbsp;</p>
<p>The MM9Test program is used to test and validate proper configuration parameters and charging behaviour by initiating a Diameter connection and sending a charging request for a single MMS message. The latest version of this program can be downloaded at <a href="http://www.nowsms.com/download/mm9test.zip">http://www.nowsms.com/download/mm9test.zip</a>.</p>
<p>The MM9Test program generates the two Diameter requests detailed in this document: Capabilities-Exchange-Request and Credit-Control-Request.</p>
<p>MM9TEST.EXE is a command line program. When run, MM9TEST.EXE will prompt for the following Diameter related configuration parameters:</p>
<p><strong>(Remote) Diameter Server Host Name or IP Address</strong> – The DNS host name or IP address of the Diameter charging server that will receive the connection.</p>
<p><strong>(Remote) Diameter Server Port Number</strong> – The port number for the Diameter server that will receive the connection.</p>
<p><strong>(Remote) Diameter Destination-Realm</strong> – The Destination-Realm parameter to be specified in the Diameter requests.</p>
<p><strong>(Local/Origin) Diameter Host-IP-Address</strong> – The IP address of the local host. This is a required property for the Capabilities-Exchange-Reqeust.</p>
<p><strong>(Local) Diameter Origin-Host</strong> – The Origin-Host parameter to be specified in the Diameter requests.</p>
<p><strong>(Local) Diameter Origin-Realm</strong> – The Origin-Realm parameter to be specified in the Diameter requests.</p>
<p><strong>Service-Context-Id (optional)</strong> – A Service-Context-Id may be required by the charging server. The default is 32270@3gpp.org as defined in [3GPPDIAM] to indicate MMS charging. Ericsson&#8217;s SCAPv2 requires a value of SCAP_V.2.0@ericsson.com.</p>
<p><strong>Service-Identifier (optional)</strong> – Optional integer value to identify the service to the charging server.</p>
<p><strong>Requested-Service-Unit CC-Service-Specific-Units (optional)</strong> – [DIAMCCA] allows for charging based upon either a fixed price or a service specific number of units associated with a particular service. In most configurations, a value of 1 will be used for CC-Service-Specific-Units to indicate 1 MMS message being sent. If this parameter is used, leave CC-Money and Currency-Code parameters blank.</p>
<p><strong>Requested-Service-Unit CC-Money (optional, use decimal format 1.23)</strong> – If used, this indicates a fixed monetary charge to be applied for sending an MMS message. If this parameter is used, leave CC-Service-Specific-Units blank and specify a value for Currency-Code parameter.</p>
<p><strong>Requested-Service-Unit Currency-Code (optional, use ISO 4217 currency code)</strong> – When using a fixed monetary charge, this indicates the currency being used (e.g., USD=840, EUR=978 ). If this parameter is used, leave CC-Service-Specific-Units blank and specify a value for CC-Money parameter.</p>
<p><strong>MMS Sender Phone Number</strong> – MSISDN to be charged for sending MMS message. Used to build Subscription-Id and Originator-Address in Credit-Control-Request.</p>
<p><strong>MMS Recipient Phone Number</strong> – MSISDN receiving MMS message. Used to build Recipient-Address in Credit-Control-Request.</p>
<p><strong>3GPP-SGSN-MCC-MNC (optional)</strong> &#8211; If available to the MMSC, the SGSN MCC-MNC value can be used to detect roaming subscribers. If left blank, or not available, this parameter is not included.</p>
<p><strong>SGSN-ADDRESS (optional)</strong> &#8211; If available to the MMSC, the SGSN-ADDRESS value can be used to detect roaming subscribers. If left blank, or not available, this parameter is not included.</p>
<p><strong>Enable Ericsson SCAP Extension Set? (Y/N)</strong> – Answer Y to include the Credit-Control-Request parameters defined for the SCAP extension set. If selected, the program will prompt for additional optional parameters included in the SCAP extension set. SCAP parameter values prompted for include Service-Provider-Id, an integer value used to identify the service to the charging server, and Subscription-Id-Location. It is possible to use the 3GPP-SGSN-MCC-MNC value as the Subscription-Id-Location value by specifying a value of @@SGSNMCCMNC@@.</p>
<p><strong>Enable 3GPPTIMEZONE Extension Set? (Y/N)</strong> – This setting will automatically default to Y if the Ericsson SCAP Extension Set is enabled. Answer Y to include the 3GPP-MS-TimeZone parameter in the Credit-Control-Request.</p>
<p><strong>Enable 3GPP Extension Set? (Y/N)</strong> &#8211; Answer Y to include the Credit-Control-Request parameters defined for the 3GPP extension set (Service-Information/MMS-Information).</p>
<p>If successful, the last line of output from the test program will read Diameter Result Code 2001.</p>
<p>Raw Diameter packet information will be logged to MM9TEST.LOG. However, for easier troubleshooting, it is recommended that Wireshark be used to capture and log connection details. Wireshark will decode Diameter protocol information to more clearly report any protocol errors returned, as protocol errors typically relate to not having used the parameter values expected by the Diameter server.</p>
<p><strong>Important Usage Note:</strong> The MM9 Test Program saves previous responses, so these previous responses will be used as a default setting for the next test. To delete a prior response for an optionally included parameter, press the Space key, then Enter.</p>
<p>For advanced requirements, the XML template files diameter-capabilities-exchange.xml and diameter-credit-control.xml can be edited to modify Diameter parameters included in charging requests.</p>
<p>After completing successful MM9 Diameter charging tests, the configuration settings used by the test program can be easily migrated to production MMSC settings.</p>
<p>MM9 test settings are saved in a file named MM9TEST.INI. Copying the entire [MM9Diameter] section of MM9TEST.INI to MMSC.INI will activate MM9 Diameter charging in NowSMS MMSC versions 2013.04.01 and later.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<h2>MM9 Diameter Charging in the MMSC</h2>
<p>MM9 Diameter charging is enabled in NowSMS MMSC versions 2013.04.01 and later by configuring parameters under an [MM9Diameter] section header of MMSC.INI. It is recommended that the MM9TEST.EXE utility be used to initially define these settings. MM9 test settings are saved in a file named MM9TEST.INI. Copying the entire [MM9Diameter] section of MM9TEST.INI to MMSC.INI will activate MM9 Diameter charging.</p>
<p>The following settings are supported in this <strong>[MM9Diameter]</strong> section:</p>
<p><strong>Destination-Host-Address</strong> &#8211; The DNS host name or IP address of the Diameter charging server that will receive the connection.</p>
<p><strong>Destination-Host-Port-Number</strong> – The port number for the Diameter server that will receive the connection.</p>
<p><strong>Host-IP-Address</strong> – The IP address of the local host. This is a required property for the Capabilities-Exchange-Requst.</p>
<p><strong>Origin-Host</strong> – The Origin-Host parameter to be specified in the Diameter requests.</p>
<p><strong>Origin-Realm</strong> – The Origin-Realm parameter to be specified in the Diameter requests.</p>
<p><strong>Product-Name</strong> – The Product-Name parameter to be specified in the Capabilities-Exchange-Requst. The default value is MMSC.</p>
<p><strong>Destination-Realm</strong> &#8211; The Destination-Realm parameter to be specified in the Diameter requests.</p>
<p><strong>Service-Context-Id</strong> – A Service-Context-Id may be required by the charging server. The default is 32270@3gpp.org as defined in [3GPPDIAM] to indicate MMS charging. Ericsson&#8217;s SCAPv2 requires a value of SCAP_V.2.0@ericsson.com.</p>
<p><strong>Service-Identifier</strong> – Optional integer value to identify the service to the charging server.</p>
<p><strong>CC-Service-Specific-Units</strong> – [DIAMCCA] allows for charging based upon either a fixed price or a service specific number of units associated with a particular service. In most configurations, a value of 1 will be used for CC-Service-Specific-Units to indicate 1 MMS message being sent. If this parameter is used, leave CC-Money and Currency-Code parameters blank.</p>
<p><strong>CC-Money</strong> – If used, this indicates a fixed monetary charge (e.g., 0.05) to be applied for sending an MMS message. If this parameter is used, leave CC-Service-Specific-Units blank and specify a value for Currency-Code parameter.</p>
<p><strong>Currency-Code</strong> – When using a fixed monetary charge with CC-Money, this indicates the currency being used (e.g., USD=840, EUR=978). If this parameter is used, leave CC-Service-Specific-Units blank and specify a value for CC-Money parameter.</p>
<p><strong>Service-Provider-Id</strong> &#8211; An integer value used to identify the service to the charging server when the SCAP extension set is enabled.</p>
<p><strong>Subscription-Id-Location</strong> – A string value required by the SCAP extension set. It is possible to use the 3GPP-SGSN-MCC-MNC value as the Subscription-Id-Location value by specifying a value of @@SGSNMCCMNC@@.</p>
<p><strong>EmailAddressNumber</strong> – Some charging environments may not be able to accept an e-mail address as a recipient. For those environments, specify a phone number to be substituted in Diameter charging requests for MMS messages to e-mail recipients.</p>
<p><strong>MultipleRecipCharge</strong> – By default, the MMSC issues a separate charging request for each recipient when an MMS message is sent to multiple recipients. When this parameter is set to Yes, the MMSC issues a single charging request for multiple recipients, multiplying CC-Service-Specific-Units or CC-Money by the number of recipients automatically.</p>
<p><strong>SupportedExtensionSets</strong> – A comma delimited list of extension sets enabled for the Diameter connection. Extension sets are detailed below:</p>
<ul>
<li><strong>SCAP</strong> – Enables Diameter parameters defined by [SCAPv2], including Traffic-Case, Other-Party-Id, Service-Provider-Id and Subscription-Id-Location. Also enables 3GPP-MS-TimeZone.</li>
<li><strong>3GPPTIMEZONE</strong> – Enables 3GPP-MS-TimeZone.</li>
<li><strong>3GPPSGSN</strong> – Enables 3GPP-SGSN-MCC-MNC and SGSN-ADDRESS, if available to the MMSC.</li>
<li><strong>3GPP</strong> – Enables Service-Information/MMS-Information grouped parameters providing MMS message detail.</li>
</ul>
<p>&nbsp;</p>
<h2>Enabling MM9 Diameter for Only Select Subscribers</h2>
<p>In some environments, it may be desirable to use MM9 Diameter charging for only some subscribers. For example, MM9 Diameter charging might only be used for prepaid subscribers.</p>
<p>In other environments, it may be desirable to use different Diameter charging servers for different groups of customers (for example, when the MMSC is hosting subscribers from multiple countries, or multiple MVNOs).</p>
<p>Both of these scenarios are facilitated through accounting callbacks, which are documented at <a href="http://www.nowsms.com/doc/advanced-configuration-settings/mms-accounting-callbacks">http://www.nowsms.com/doc/advanced-configuration-settings/mms-accounting-callbacks</a>.</p>
<p>The MMSSend PreAuth callback can return a response indicating that a Diameter charge should be attempted. In this scenario, CallbackTriggerOnly=Yes should be added to the [MM9Diameter] section of MMSC.INI to indicate that the MMSC should only generate Diameter charges if directed to do so by the response to the MMSSend PreAuth callback. The callback response should include the text MM9Diameter=Yes to indicate that a Diameter charge is required for the transaction.</p>
<p>Multiple Diameter servers can be configured by creating additional sections in MMSC.INI, similar to the [MM9Diameter] section documented here. Use a section name of [MM9Diameter-xxxxxxxx] where xxxxxxxx is a name to be associated with this Diameter server. The MMSSend PreAuth callback response can trigger a Diameter charge to this server by including MM9Diameter=xxxxxxxx in the text of the response. (MM9Diameter=Yes triggers a charge for the server defined in [MM9Diameter]. Values other than Yes trigger a charge for a different Diameter server.)</p>
<p>&nbsp;</p>
<h2>MM9 Diameter XML Templates</h2>
<p>&nbsp;</p>
<p>The XML template files used for Diameter charging in the MMSC are not fully documented at this time. It is recommended that any edits be made to these templates only after consulting with NowSMS MMSC Technical Support.</p>
<p>&nbsp;</p>
<p><strong>diameter-capabilities-exchange.xml:</strong></p>
<p>&nbsp;</p>
<pre style="font-family: 'Courier New', monospace; font-size: x-small; line-height: 10px;">&lt;diameter&gt;
&lt;avp name="Origin-Host" code="264" mandatory="true" type="UTF8String" value="@@Config-Origin-Host@@" /&gt;
&lt;avp name="Origin-Realm" code="296" mandatory="true" type="UTF8String" value="@@Config-Origin-Realm@@" /&gt;
&lt;avp name="Host-IP-Address" code="257" mandatory="true" type="IPAddress" value="@@Config-Host-IP-Address@@" /&gt;
&lt;avp name="Vendor-Id" code="266" mandatory="true" type="Unsigned32" value="0" /&gt;
&lt;avp name="Product-Name" code="269" type="UTF8String" value="@@Config-Product-Name@@" /&gt;
&lt;avp name="Supported-Vendor-Id" code="265" mandatory="true" type="Unsigned32" value="10415" /&gt;
&lt;avp name="Supported-Vendor-Id" code="265" mandatory="true" type="Unsigned32" value="193" /&gt;
&lt;avp name="Auth-Application-Id" code="258" mandatory="true" type="Unsigned32" value="4" /&gt;
&lt;avp name="Acct-Application-Id" code="259" mandatory="true" type="Unsigned32" value="0" /&gt;
&lt;/diameter&gt;

&lt;diameter&gt;
&lt;avp name="Origin-Host" code="264" mandatory="true" type="UTF8String" value="@@Config-Origin-Host@@" /&gt;
&lt;avp name="Origin-Realm" code="296" mandatory="true" type="UTF8String" value="@@Config-Origin-Realm@@" /&gt;
&lt;avp name="Host-IP-Address" code="257" mandatory="true" type="IPAddress" value="@@Config-Host-IP-Address@@" /&gt;
&lt;avp name="Vendor-Id" code="266" mandatory="true" type="Unsigned32" value="0" /&gt;
&lt;avp name="Product-Name" code="269" type="UTF8String" value="@@Config-Product-Name@@" /&gt;
&lt;avp name="Supported-Vendor-Id" code="265" mandatory="true" type="Unsigned32" value="10415" /&gt;
&lt;avp name="Auth-Application-Id" code="258" mandatory="true" type="Unsigned32" value="4" /&gt;
&lt;avp name="Acct-Application-Id" code="259" mandatory="true" type="Unsigned32" value="0" /&gt;
&lt;/diameter&gt;

&lt;diameter&gt;
&lt;avp name="Origin-Host" code="264" mandatory="true" type="UTF8String" value="@@Config-Origin-Host@@" /&gt;
&lt;avp name="Origin-Realm" code="296" mandatory="true" type="UTF8String" value="@@Config-Origin-Realm@@" /&gt;
&lt;avp name="Host-IP-Address" code="257" mandatory="true" type="IPAddress" value="@@Config-Host-IP-Address@@" /&gt;
&lt;avp name="Vendor-Id" code="266" mandatory="true" type="Unsigned32" value="0" /&gt;
&lt;avp name="Product-Name" code="269" type="UTF8String" value="@@Config-Product-Name@@" /&gt;
&lt;avp name="Auth-Application-Id" code="258" mandatory="true" type="Unsigned32" value="4" /&gt;
&lt;avp name="Acct-Application-Id" code="259" mandatory="true" type="Unsigned32" value="0" /&gt;
&lt;/diameter&gt;

&lt;diameter&gt;
&lt;avp name="Origin-Host" code="264" mandatory="true" type="UTF8String" value="@@Config-Origin-Host@@" /&gt;
&lt;avp name="Origin-Realm" code="296" mandatory="true" type="UTF8String" value="@@Config-Origin-Realm@@" /&gt;
&lt;avp name="Host-IP-Address" code="257" mandatory="true" type="IPAddress" value="@@Config-Host-IP-Address@@" /&gt;
&lt;avp name="Vendor-Id" code="266" mandatory="true" type="Unsigned32" value="0" /&gt;
&lt;avp name="Product-Name" code="269" type="UTF8String" value="@@Config-Product-Name@@" /&gt;
&lt;/diameter&gt;</pre>
<p>(Repeated sections show multiple attempts to be made if the previous attempt did not succeed.</p>
<p>&nbsp;</p>
<p><strong>diameter-credit-control.xml:</strong></p>
<pre style="font-family: 'Courier New', monospace; font-size: x-small; line-height: 10px;">&lt;diameter&gt;
&lt;avp name="Session-Id" code="263" mandatory="true" type="UTF8String" value="@@Session-Id@@" /&gt;
&lt;avp name="Origin-Host" code="264" mandatory="true" type="UTF8String" value="@@Config-Origin-Host@@" /&gt;
&lt;avp name="Origin-Realm" code="296" mandatory="true" type="UTF8String" value="@@Config-Origin-Realm@@" /&gt;
&lt;avp name="Destination-Realm" code="283" mandatory="true" type="UTF8String" value="@@Config-Destination-Realm@@" /&gt;
&lt;avp name="Auth-Application-Id" code="258" mandatory="true" type="Unsigned32" value="4" /&gt;
&lt;avp name="Service-Context-Id" code="461" mandatory="true" type="UTF8String" value="@@Config-Service-Context-Id@@" /&gt;
&lt;avp name="CC-Request-Type" code="416" mandatory="true" type="Unsigned32" value="4" /&gt;
&lt;avp name="CC-Request-Number" code="415" mandatory="true" type="Unsigned32" value="0" /&gt;
&lt;avp name="Event-Timestamp" code="55" mandatory="true" type="Unsigned32" value="@@TimeStamp@@" /&gt;
&lt;avp name="Subscription-Id" code="443" mandatory="true" type="Grouped"&gt;
  &lt;avp name="Subscription-Id-Type" code="450" mandatory="true" type="Unsigned32" value="0" /&gt;
  &lt;avp name="Subscription-Id-Data" code="444" mandatory="true" type="UTF8String" value="@@Sender@@" /&gt;
&lt;/avp&gt;
&lt;avp name="Requested-Action" code="436" mandatory="true" type="Unsigned32" value="0" /&gt;
&lt;avp name="3GPP-MS-TimeZone" code="23" vendor="10415" mandatory="true" type="OctetString" value="@@TimeZone@@" extensionset="3GPPTIMEZONE,SCAP" /&gt;
&lt;avp name="3GPP-SGSN-MCC-MNC" code="18" vendor="10415" mandatory="true" type="UTF8String" value="@@SGSNMCCMNC@@" omitifblank="true" extensionset="3GPPSGSN" /&gt;
&lt;avp name="SGSN-Address" code="1228" vendor="10415" mandatory="true" type="IPAddress" value="@@SGSNADDRESS@@" omitifblank="true" extensionset="3GPPSGSN" /&gt;
&lt;avp name="Service-Identifier" code="439" mandatory="true" type="Unsigned32" value="@@Config-Service-Identifier@@" omitifblank="true" /&gt;
&lt;avp name="Requested-Service-Unit" code="437" mandatory="true" type="Grouped" value="@@Config-CC-Service-Specific-Units@@@@Config-CC-Money@@" omitifblank="true" &gt;
  &lt;avp name="CC-Service-Specific-Units" code="417" mandatory="true" type="Unsigned64" value="@@Config-CC-Service-Specific-Units@@" multiplerecipmultiply="true" omitifblank="true" /&gt;
  &lt;avp name="CC-Money" code="413" mandatory="true" type="grouped" value="@@Config-CC-Money@@" omitifblank="true" &gt;
    &lt;avp name="Unit-Value" code="445" mandatory="true" type="grouped" value="@@Config-CC-Money@@" omitifblank="true" &gt;
      &lt;avp name="Value-Digits" code="447" mandatory="true" type="Unsigned64" value="@@Config-CC-Money-Value-Digits@@" multiplerecipmultiply="true" /&gt;
      &lt;avp name="Exponent" code="429" mandatory="true" type="Integer32" value="@@Config-CC-Money-Exponent@@" /&gt;
    &lt;/avp&gt;
    &lt;avp name="Currency-Code" code="425" mandatory="true" type="Unsigned32" value="@@Config-Currency-Code@@" omitifblank="true" /&gt;
  &lt;/avp&gt;
&lt;/avp&gt;
&lt;avp name="Traffic-Case" code="1082" vendor="193" mandatory="true" type="Unsigned32" value="20" extensionset="SCAP" /&gt;
&lt;avp name="Other-Party-Id" code="1075" vendor="193" mandatory="true" type="Grouped" multiplereciprepeat="true" extensionset="SCAP" &gt;
  &lt;avp name="Other-Party-Id-Nature" code="1076" vendor="193" mandatory="true" type="Unsigned32" value="1" /&gt;
  &lt;avp name="Other-Party-Id-Data" code="1077" vendor="193" mandatory="true" type="UTF8String" value="@@Recip@@" /&gt;
  &lt;avp name="Other-Party-Id-Type" code="1078" vendor="193" mandatory="true" type="Unsigned32" value="0" /&gt;
&lt;/avp&gt;
&lt;avp name="Service-Provider-Id" code="1081" vendor="193" mandatory="true" type="UTF8String" value="@@Config-Service-Provider-Id@@" omitifblank="true" extensionset="SCAP" /&gt;
&lt;avp name="Subscription-Id-Location" code="1074" vendor="193" mandatory="true" type="UTF8String" value="@@Config-Subscription-Id-Location@@" omitifblank="true" extensionset="SCAP" /&gt;
&lt;avp name="Service-Information" code="873" vendor="10415" mandatory="true" type="Grouped" extensionset="3GPP" &gt;
  &lt;avp name="MMS-Information" code="877" vendor="10415" mandatory="true" type="Grouped"&gt;
  &lt;avp name="Originator-Address" code="886" vendor="10415" mandatory="true" type="Grouped"&gt;
    &lt;avp name="Address-Type" code="899" vendor="10415" mandatory="true" type="Unsigned32" value="@@Sender-Address-Type@@" /&gt;
    &lt;avp name="Address-Data" code="897" vendor="10415" mandatory="true" type="UTF8String" value="@@Sender@@" /&gt;
  &lt;/avp&gt;
  &lt;avp name="Recipient-Address" code="1201" vendor="10415" mandatory="true" type="Grouped" multiplereciprepeat="true"&gt;
    &lt;avp name="Address-Type" code="899" vendor="10415" mandatory="true" type="Unsigned32" value="@@Recip-Address-Type@@" /&gt;
    &lt;avp name="Address-Data" code="897" vendor="10415" mandatory="true" type="UTF8String" value="@@Recip@@" /&gt;
  &lt;/avp&gt;
  &lt;avp name="Submission-Time" code="1202" vendor="10415" mandatory="true" type="Unsigned32" value="@@TimeStamp@@" /&gt;
    &lt;avp name="MM-Content-Type" code="1203" vendor="10415" mandatory="true" type="Grouped"&gt;
      &lt;avp name="Type-Number" code="1204" vendor="10415" mandatory="true" type="Unsigned32" value="51" /&gt;
      &lt;avp name="Content-Size" code="1206" vendor="10415" mandatory="true" type="Unsigned32" value="@@MsgSize@@" /&gt;
    &lt;/avp&gt;
    &lt;avp name="Message-ID" code="1210" vendor="10415" mandatory="true" type="UTF8String" value="@@Session-Id@@" /&gt;
    &lt;avp name="Message-Type" code="1211" vendor="10415" mandatory="true" type="Unsigned32" value="1" /&gt;
    &lt;avp name="Message-Size" code="1212" vendor="10415" mandatory="true" type="Unsigned32" value="@@MsgSize@@" /&gt;
    &lt;avp name="Message-Class" code="1213" vendor="10415" mandatory="true" type="Grouped"&gt;
      &lt;avp name="Class-Identifier" code="1214" vendor="10415" mandatory="true" type="Unsigned32" value="0" /&gt;
    &lt;/avp&gt;
  &lt;/avp&gt;
&lt;/avp&gt;
&lt;/diameter&gt;</pre>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><span style="font-family: 'Courier New', monospace;"><span style="font-size: x-large;"><b> </b></span></span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.nowsms.com/mmsc-diameter-mm9-implementation/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Issue Receiving MMS over GSM Modem on Orange UK</title>
		<link>http://www.nowsms.com/issue-receiving-mms-over-gsm-modem-on-orange-uk</link>
		<comments>http://www.nowsms.com/issue-receiving-mms-over-gsm-modem-on-orange-uk#comments</comments>
		<pubDate>Wed, 02 Jan 2013 21:12:24 +0000</pubDate>
		<dc:creator>brett</dc:creator>
				<category><![CDATA[Support Blog]]></category>
		<category><![CDATA[2-way MMS]]></category>
		<category><![CDATA[3G modem]]></category>
		<category><![CDATA[GSM modem]]></category>
		<category><![CDATA[MMS via modem]]></category>

		<guid isPermaLink="false">http://www.nowsms.com/?p=13459</guid>
		<description><![CDATA[We&#8217;d like to draw some attention to an issue that was reported (and quickly diagnosed) on our discussion forum last month. A customer reported that they were no longer able to process received MMS messages using a GSM modem on the Orange  network in the UK. There are a variety of potential causes, such as a [...]]]></description>
				<content:encoded><![CDATA[<p>We&#8217;d like to draw some attention to an issue that was reported <em>(and quickly diagnosed)</em> on our discussion forum last month.</p>
<p>A customer reported that they were no longer able to process received MMS messages using a GSM modem on the Orange  network in the UK.</p>
<p>There are a variety of potential causes, such as a SIM not being enabled for MMS support, or incorrectly provisioned Operator MMS settings.  However, this case was unusual.</p>
<p>Generally when there is a problem receiving MMS messages via a modem, the first thing we check is whether or not the modem can be used to send MMS messages.  Assuming that is OK, we look to see if NowSMS is reporting receiving any SMS messages when an MMS is expected.  As described in the <a href="/howmmsworks.htm">How MMS Works</a> article, the initial trigger for MMS message delivery is a specially formatted SMS message known as an MMS Notification.</p>
<p>The MMS Notification message was being received via SMS, and looking at the SMSDEBUG.LOG, it was determined that NowSMS was attempting to retrieve the MMS message using valid settings, but the operator MMSC was returning an error code 412 (Precondition Failed).</p>
<p>Needless to say, a web search for more information on <em><strong>HTTP error 412 Precondition Failed</strong></em> does not offer any good suggestions for what the problem might be.</p>
<p>However, in the discussion thread, Des correctly diagnosed that the MMSC was expecting something in the request that was not being provided, and suggested that the MMSC might be complaining that no user agent profile information is present in the request to retrieve the MMS message.</p>
<p>The solution to the problem was to locate and manually edit the MMSC.INI configuration file, adding the following settings under the [MMSC] section header:</p>
<pre style="line-height: 12px;">HeaderUserAgent=iPhoneOS/4.2.1 (8C148) 
HeaderProfile=http://www.apple.com/mms/uaprof.rdf</pre>
<p>For additional details, please refer to the original discussion thread:  <a href="http://www.nowsms.com/discus/messages/485/71404.html">Unable to retrieve mms using nowsms and orange</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.nowsms.com/issue-receiving-mms-over-gsm-modem-on-orange-uk/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Browse Tech Bulletins by Keywords</title>
		<link>http://www.nowsms.com/techsupport/tech-support-files</link>
		<comments>http://www.nowsms.com/techsupport/tech-support-files#comments</comments>
		<pubDate>Wed, 12 Dec 2012 16:57:21 +0000</pubDate>
		<dc:creator>brett</dc:creator>
				<category><![CDATA[Support Blog]]></category>

		<guid isPermaLink="false">http://www.nowsms.com/?p=13443</guid>
		<description><![CDATA[<p>Our technical bulletins describe advanced technical features of the Now SMS &#38; MMS Gateway and clarify advanced configuration options.</p>

<p><a href="/techsupport/tech-support-files">Follow this link to browse technical bulletins by keyword</a>, or browse from the list below.</p>

<p>It is also possible to <a href="http://feedburner.google.com/fb/a/mailverify?uri=nowsms&#38;loc=en_US" target="_blank">subscribe to receive new technical bulletins automatically via e-mail</a>.</p>
]]></description>
				<content:encoded><![CDATA[<p>Our technical bulletins describe advanced technical features of the Now SMS &amp; MMS Gateway and clarify advanced configuration options.</p>
<p><a href="/category/supportblog">Follow this link to browse all technical bulletins</a>, or select a topic from the list below.</p>
<p>It is also possible to <a href="http://feedburner.google.com/fb/a/mailverify?uri=nowsms&amp;loc=en_US" target="_blank">subscribe to receive new technical bulletins automatically via e-mail</a>.</p>
<div class="better-tag-cloud-shortcode" ><ul class='wp-tag-cloud'>
	<li><a href='http://www.nowsms.com/tag/net'  class='tag-link-106 nktagcloud-10' title='2 topics' rel="tag" style='font-size: 10.48pt;'>.NET</a><span class="nktagcloud_counter">(2)</span><span class="nktagcloud-separator"><br/></span></li>
	<li><a href='http://www.nowsms.com/tag/2-way-mms'  class='tag-link-96 nktagcloud-10' title='2 topics' rel="tag" style='font-size: 10.48pt;'>2-way MMS</a><span class="nktagcloud_counter">(2)</span><span class="nktagcloud-separator"><br/></span></li>
	<li><a href='http://www.nowsms.com/tag/2-way-sms'  class='tag-link-35 nktagcloud-11' title='5 topics' rel="tag" style='font-size: 11.93pt;'>2-way SMS</a><span class="nktagcloud_counter">(5)</span><span class="nktagcloud-separator"><br/></span></li>
	<li><a href='http://www.nowsms.com/tag/3g-modem'  class='tag-link-78 nktagcloud-14' title='10 topics' rel="tag" style='font-size: 14.34pt;'>3G modem</a><span class="nktagcloud_counter">(10)</span><span class="nktagcloud-separator"><br/></span></li>
	<li><a href='http://www.nowsms.com/tag/160-characters'  class='tag-link-18 nktagcloud-10' title='2 topics' rel="tag" style='font-size: 10.48pt;'>160 characters</a><span class="nktagcloud_counter">(2)</span><span class="nktagcloud-separator"><br/></span></li>
	<li><a href='http://www.nowsms.com/tag/accounting-callbacks'  class='tag-link-60 nktagcloud-13' title='9 topics' rel="tag" style='font-size: 13.86pt;'>accounting callbacks</a><span class="nktagcloud_counter">(9)</span><span class="nktagcloud-separator"><br/></span></li>
	<li><a href='http://www.nowsms.com/tag/address-book'  class='tag-link-7 nktagcloud-10' title='1 topic' rel="tag" style='font-size: 10pt;'>address book</a><span class="nktagcloud_counter">(1)</span><span class="nktagcloud-separator"><br/></span></li>
	<li><a href='http://www.nowsms.com/tag/api'  class='tag-link-62 nktagcloud-13' title='9 topics' rel="tag" style='font-size: 13.86pt;'>API</a><span class="nktagcloud_counter">(9)</span><span class="nktagcloud-separator"><br/></span></li>
	<li><a href='http://www.nowsms.com/tag/asp'  class='tag-link-55 nktagcloud-10' title='1 topic' rel="tag" style='font-size: 10pt;'>ASP</a><span class="nktagcloud_counter">(1)</span><span class="nktagcloud-separator"><br/></span></li>
	<li><a href='http://www.nowsms.com/tag/billing'  class='tag-link-108 nktagcloud-11' title='5 topics' rel="tag" style='font-size: 11.93pt;'>billing</a><span class="nktagcloud_counter">(5)</span><span class="nktagcloud-separator"><br/></span></li>
	<li><a href='http://www.nowsms.com/tag/bulk-sms'  class='tag-link-9 nktagcloud-10' title='1 topic' rel="tag" style='font-size: 10pt;'>bulk SMS</a><span class="nktagcloud_counter">(1)</span><span class="nktagcloud-separator"><br/></span></li>
	<li><a href='http://www.nowsms.com/tag/c'  class='tag-link-105 nktagcloud-10' title='1 topic' rel="tag" style='font-size: 10pt;'>C#</a><span class="nktagcloud_counter">(1)</span><span class="nktagcloud-separator"><br/></span></li>
	<li><a href='http://www.nowsms.com/tag/cdma'  class='tag-link-94 nktagcloud-10' title='1 topic' rel="tag" style='font-size: 10pt;'>CDMA</a><span class="nktagcloud_counter">(1)</span><span class="nktagcloud-separator"><br/></span></li>
	<li><a href='http://www.nowsms.com/tag/cdma-modem'  class='tag-link-53 nktagcloud-10' title='1 topic' rel="tag" style='font-size: 10pt;'>CDMA modem</a><span class="nktagcloud_counter">(1)</span><span class="nktagcloud-separator"><br/></span></li>
	<li><a href='http://www.nowsms.com/tag/character-sets'  class='tag-link-17 nktagcloud-10' title='1 topic' rel="tag" style='font-size: 10pt;'>character sets</a><span class="nktagcloud_counter">(1)</span><span class="nktagcloud-separator"><br/></span></li>
	<li><a href='http://www.nowsms.com/tag/charging'  class='tag-link-109 nktagcloud-11' title='5 topics' rel="tag" style='font-size: 11.93pt;'>charging</a><span class="nktagcloud_counter">(5)</span><span class="nktagcloud-separator"><br/></span></li>
	<li><a href='http://www.nowsms.com/tag/check-point-connectra'  class='tag-link-81 nktagcloud-10' title='1 topic' rel="tag" style='font-size: 10pt;'>Check Point Connectra</a><span class="nktagcloud_counter">(1)</span><span class="nktagcloud-separator"><br/></span></li>
	<li><a href='http://www.nowsms.com/tag/cimd'  class='tag-link-46 nktagcloud-10' title='1 topic' rel="tag" style='font-size: 10pt;'>CIMD</a><span class="nktagcloud_counter">(1)</span><span class="nktagcloud-separator"><br/></span></li>
	<li><a href='http://www.nowsms.com/tag/cms-error'  class='tag-link-45 nktagcloud-10' title='1 topic' rel="tag" style='font-size: 10pt;'>CMS Error</a><span class="nktagcloud_counter">(1)</span><span class="nktagcloud-separator"><br/></span></li>
	<li><a href='http://www.nowsms.com/tag/command-line-interface'  class='tag-link-23 nktagcloud-11' title='5 topics' rel="tag" style='font-size: 11.93pt;'>command line interface</a><span class="nktagcloud_counter">(5)</span><span class="nktagcloud-separator"><br/></span></li>
	<li><a href='http://www.nowsms.com/tag/connection-status'  class='tag-link-65 nktagcloud-10' title='3 topics' rel="tag" style='font-size: 10.97pt;'>connection status</a><span class="nktagcloud_counter">(3)</span><span class="nktagcloud-separator"><br/></span></li>
	<li><a href='http://www.nowsms.com/tag/content-adaptation'  class='tag-link-73 nktagcloud-10' title='1 topic' rel="tag" style='font-size: 10pt;'>content adaptation</a><span class="nktagcloud_counter">(1)</span><span class="nktagcloud-separator"><br/></span></li>
	<li><a href='http://www.nowsms.com/tag/delivery-receipts'  class='tag-link-90 nktagcloud-10' title='1 topic' rel="tag" style='font-size: 10pt;'>delivery receipts</a><span class="nktagcloud_counter">(1)</span><span class="nktagcloud-separator"><br/></span></li>
	<li><a href='http://www.nowsms.com/tag/distribution-lists'  class='tag-link-8 nktagcloud-10' title='2 topics' rel="tag" style='font-size: 10.48pt;'>distribution lists</a><span class="nktagcloud_counter">(2)</span><span class="nktagcloud-separator"><br/></span></li>
	<li><a href='http://www.nowsms.com/tag/eaif'  class='tag-link-67 nktagcloud-10' title='1 topic' rel="tag" style='font-size: 10pt;'>EAIF</a><span class="nktagcloud_counter">(1)</span><span class="nktagcloud-separator"><br/></span></li>
	<li><a href='http://www.nowsms.com/tag/esme_rthrottled'  class='tag-link-42 nktagcloud-10' title='1 topic' rel="tag" style='font-size: 10pt;'>ESME_RTHROTTLED</a><span class="nktagcloud_counter">(1)</span><span class="nktagcloud-separator"><br/></span></li>
	<li><a href='http://www.nowsms.com/tag/excel'  class='tag-link-82 nktagcloud-10' title='1 topic' rel="tag" style='font-size: 10pt;'>Excel</a><span class="nktagcloud_counter">(1)</span><span class="nktagcloud-separator"><br/></span></li>
	<li><a href='http://www.nowsms.com/tag/expresscard-modem'  class='tag-link-84 nktagcloud-10' title='1 topic' rel="tag" style='font-size: 10pt;'>ExpressCard modem</a><span class="nktagcloud_counter">(1)</span><span class="nktagcloud-separator"><br/></span></li>
	<li><a href='http://www.nowsms.com/tag/fault-tolerant'  class='tag-link-38 nktagcloud-10' title='3 topics' rel="tag" style='font-size: 10.97pt;'>fault tolerant</a><span class="nktagcloud_counter">(3)</span><span class="nktagcloud-separator"><br/></span></li>
	<li><a href='http://www.nowsms.com/tag/gprs-modem'  class='tag-link-3 nktagcloud-15' title='13 topics' rel="tag" style='font-size: 15.79pt;'>GPRS modem</a><span class="nktagcloud_counter">(13)</span><span class="nktagcloud-separator"><br/></span></li>
	<li><a href='http://www.nowsms.com/tag/group-sms'  class='tag-link-85 nktagcloud-10' title='1 topic' rel="tag" style='font-size: 10pt;'>group SMS</a><span class="nktagcloud_counter">(1)</span><span class="nktagcloud-separator"><br/></span></li>
	<li><a href='http://www.nowsms.com/tag/group-text'  class='tag-link-86 nktagcloud-10' title='1 topic' rel="tag" style='font-size: 10pt;'>group text</a><span class="nktagcloud_counter">(1)</span><span class="nktagcloud-separator"><br/></span></li>
	<li><a href='http://www.nowsms.com/tag/gsm-modem'  class='tag-link-44 nktagcloud-16' title='15 topics' rel="tag" style='font-size: 16.76pt;'>GSM modem</a><span class="nktagcloud_counter">(15)</span><span class="nktagcloud-separator"><br/></span></li>
	<li><a href='http://www.nowsms.com/tag/http-header-enrichment'  class='tag-link-104 nktagcloud-10' title='2 topics' rel="tag" style='font-size: 10.48pt;'>HTTP Header Enrichment</a><span class="nktagcloud_counter">(2)</span><span class="nktagcloud-separator"><br/></span></li>
	<li><a href='http://www.nowsms.com/tag/international-sms'  class='tag-link-110 nktagcloud-10' title='1 topic' rel="tag" style='font-size: 10pt;'>international SMS</a><span class="nktagcloud_counter">(1)</span><span class="nktagcloud-separator"><br/></span></li>
	<li><a href='http://www.nowsms.com/tag/iphone'  class='tag-link-100 nktagcloud-10' title='1 topic' rel="tag" style='font-size: 10pt;'>iPhone</a><span class="nktagcloud_counter">(1)</span><span class="nktagcloud-separator"><br/></span></li>
	<li><a href='http://www.nowsms.com/tag/j2me'  class='tag-link-98 nktagcloud-10' title='2 topics' rel="tag" style='font-size: 10.48pt;'>J2ME</a><span class="nktagcloud_counter">(2)</span><span class="nktagcloud-separator"><br/></span></li>
	<li><a href='http://www.nowsms.com/tag/java'  class='tag-link-61 nktagcloud-12' title='6 topics' rel="tag" style='font-size: 12.41pt;'>Java</a><span class="nktagcloud_counter">(6)</span><span class="nktagcloud-separator"><br/></span></li>
	<li><a href='http://www.nowsms.com/tag/java-midlet'  class='tag-link-21 nktagcloud-10' title='3 topics' rel="tag" style='font-size: 10.97pt;'>Java MIDlet</a><span class="nktagcloud_counter">(3)</span><span class="nktagcloud-separator"><br/></span></li>
	<li><a href='http://www.nowsms.com/tag/jscript'  class='tag-link-24 nktagcloud-10' title='1 topic' rel="tag" style='font-size: 10pt;'>JScript</a><span class="nktagcloud_counter">(1)</span><span class="nktagcloud-separator"><br/></span></li>
	<li><a href='http://www.nowsms.com/tag/jsr-205'  class='tag-link-20 nktagcloud-10' title='3 topics' rel="tag" style='font-size: 10.97pt;'>JSR-205</a><span class="nktagcloud_counter">(3)</span><span class="nktagcloud-separator"><br/></span></li>
	<li><a href='http://www.nowsms.com/tag/load-balancing'  class='tag-link-37 nktagcloud-10' title='2 topics' rel="tag" style='font-size: 10.48pt;'>load balancing</a><span class="nktagcloud_counter">(2)</span><span class="nktagcloud-separator"><br/></span></li>
	<li><a href='http://www.nowsms.com/tag/long-sms'  class='tag-link-15 nktagcloud-10' title='2 topics' rel="tag" style='font-size: 10.48pt;'>long SMS</a><span class="nktagcloud_counter">(2)</span><span class="nktagcloud-separator"><br/></span></li>
	<li><a href='http://www.nowsms.com/tag/mblox'  class='tag-link-52 nktagcloud-10' title='1 topic' rel="tag" style='font-size: 10pt;'>mBlox</a><span class="nktagcloud_counter">(1)</span><span class="nktagcloud-separator"><br/></span></li>
	<li><a href='http://www.nowsms.com/tag/mm1'  class='tag-link-6 nktagcloud-11' title='5 topics' rel="tag" style='font-size: 11.93pt;'>MM1</a><span class="nktagcloud_counter">(5)</span><span class="nktagcloud-separator"><br/></span></li>
	<li><a href='http://www.nowsms.com/tag/mm4'  class='tag-link-33 nktagcloud-10' title='3 topics' rel="tag" style='font-size: 10.97pt;'>MM4</a><span class="nktagcloud_counter">(3)</span><span class="nktagcloud-separator"><br/></span></li>
	<li><a href='http://www.nowsms.com/tag/mm7'  class='tag-link-48 nktagcloud-12' title='6 topics' rel="tag" style='font-size: 12.41pt;'>MM7</a><span class="nktagcloud_counter">(6)</span><span class="nktagcloud-separator"><br/></span></li>
	<li><a href='http://www.nowsms.com/tag/mmsc-ini'  class='tag-link-75 nktagcloud-10' title='2 topics' rel="tag" style='font-size: 10.48pt;'>MMSC.INI</a><span class="nktagcloud_counter">(2)</span><span class="nktagcloud-separator"><br/></span></li>
	<li><a href='http://www.nowsms.com/tag/mms-via-modem'  class='tag-link-5 nktagcloud-12' title='6 topics' rel="tag" style='font-size: 12.41pt;'>MMS via modem</a><span class="nktagcloud_counter">(6)</span><span class="nktagcloud-separator"><br/></span></li>
	<li><a href='http://www.nowsms.com/tag/mnp'  class='tag-link-31 nktagcloud-10' title='2 topics' rel="tag" style='font-size: 10.48pt;'>MNP</a><span class="nktagcloud_counter">(2)</span><span class="nktagcloud-separator"><br/></span></li>
	<li><a href='http://www.nowsms.com/tag/mobile-number-portability'  class='tag-link-32 nktagcloud-10' title='1 topic' rel="tag" style='font-size: 10pt;'>Mobile Number Portability</a><span class="nktagcloud_counter">(1)</span><span class="nktagcloud-separator"><br/></span></li>
	<li><a href='http://www.nowsms.com/tag/mobile-originated'  class='tag-link-51 nktagcloud-10' title='1 topic' rel="tag" style='font-size: 10pt;'>mobile originated</a><span class="nktagcloud_counter">(1)</span><span class="nktagcloud-separator"><br/></span></li>
	<li><a href='http://www.nowsms.com/tag/multimedia-push'  class='tag-link-72 nktagcloud-10' title='2 topics' rel="tag" style='font-size: 10.48pt;'>multimedia push</a><span class="nktagcloud_counter">(2)</span><span class="nktagcloud-separator"><br/></span></li>
	<li><a href='http://www.nowsms.com/tag/nowsms-2008'  class='tag-link-28 nktagcloud-11' title='4 topics' rel="tag" style='font-size: 11.45pt;'>NowSMS 2008</a><span class="nktagcloud_counter">(4)</span><span class="nktagcloud-separator"><br/></span></li>
	<li><a href='http://www.nowsms.com/tag/nowsms-2009'  class='tag-link-77 nktagcloud-10' title='1 topic' rel="tag" style='font-size: 10pt;'>NowSMS 2009</a><span class="nktagcloud_counter">(1)</span><span class="nktagcloud-separator"><br/></span></li>
	<li><a href='http://www.nowsms.com/tag/nowsms-lite'  class='tag-link-76 nktagcloud-10' title='1 topic' rel="tag" style='font-size: 10pt;'>NowSMS Lite</a><span class="nktagcloud_counter">(1)</span><span class="nktagcloud-separator"><br/></span></li>
	<li><a href='http://www.nowsms.com/tag/nowwap'  class='tag-link-36 nktagcloud-13' title='9 topics' rel="tag" style='font-size: 13.86pt;'>NowWAP</a><span class="nktagcloud_counter">(9)</span><span class="nktagcloud-separator"><br/></span></li>
	<li><a href='http://www.nowsms.com/tag/oma-client-provisioning'  class='tag-link-22 nktagcloud-10' title='3 topics' rel="tag" style='font-size: 10.97pt;'>OMA Client Provisioning</a><span class="nktagcloud_counter">(3)</span><span class="nktagcloud-separator"><br/></span></li>
	<li><a href='http://www.nowsms.com/tag/operator-mmsc'  class='tag-link-4 nktagcloud-24' title='30 topics' rel="tag" style='font-size: 24pt;'>operator MMSC</a><span class="nktagcloud_counter">(30)</span><span class="nktagcloud-separator"><br/></span></li>
	<li><a href='http://www.nowsms.com/tag/ota'  class='tag-link-25 nktagcloud-10' title='3 topics' rel="tag" style='font-size: 10.97pt;'>OTA</a><span class="nktagcloud_counter">(3)</span><span class="nktagcloud-separator"><br/></span></li>
	<li><a href='http://www.nowsms.com/tag/php'  class='tag-link-34 nktagcloud-13' title='9 topics' rel="tag" style='font-size: 13.86pt;'>PHP</a><span class="nktagcloud_counter">(9)</span><span class="nktagcloud-separator"><br/></span></li>
	<li><a href='http://www.nowsms.com/tag/radius'  class='tag-link-56 nktagcloud-10' title='2 topics' rel="tag" style='font-size: 10.48pt;'>RADIUS</a><span class="nktagcloud_counter">(2)</span><span class="nktagcloud-separator"><br/></span></li>
	<li><a href='http://www.nowsms.com/tag/retry-attempts'  class='tag-link-13 nktagcloud-11' title='4 topics' rel="tag" style='font-size: 11.45pt;'>retry attempts</a><span class="nktagcloud_counter">(4)</span><span class="nktagcloud-separator"><br/></span></li>
	<li><a href='http://www.nowsms.com/tag/roaming'  class='tag-link-88 nktagcloud-10' title='1 topic' rel="tag" style='font-size: 10pt;'>roaming</a><span class="nktagcloud_counter">(1)</span><span class="nktagcloud-separator"><br/></span></li>
	<li><a href='http://www.nowsms.com/tag/routing'  class='tag-link-30 nktagcloud-12' title='7 topics' rel="tag" style='font-size: 12.9pt;'>routing</a><span class="nktagcloud_counter">(7)</span><span class="nktagcloud-separator"><br/></span></li>
	<li><a href='http://www.nowsms.com/tag/security-issues'  class='tag-link-29 nktagcloud-10' title='2 topics' rel="tag" style='font-size: 10.48pt;'>security issues</a><span class="nktagcloud_counter">(2)</span><span class="nktagcloud-separator"><br/></span></li>
	<li><a href='http://www.nowsms.com/tag/sending-mms'  class='tag-link-66 nktagcloud-12' title='7 topics' rel="tag" style='font-size: 12.9pt;'>Sending MMS</a><span class="nktagcloud_counter">(7)</span><span class="nktagcloud-separator"><br/></span></li>
	<li><a href='http://www.nowsms.com/tag/sendmms-php'  class='tag-link-57 nktagcloud-10' title='1 topic' rel="tag" style='font-size: 10pt;'>sendmms.php</a><span class="nktagcloud_counter">(1)</span><span class="nktagcloud-separator"><br/></span></li>
	<li><a href='http://www.nowsms.com/tag/sendsms-php'  class='tag-link-54 nktagcloud-10' title='2 topics' rel="tag" style='font-size: 10.48pt;'>sendsms.php</a><span class="nktagcloud_counter">(2)</span><span class="nktagcloud-separator"><br/></span></li>
	<li><a href='http://www.nowsms.com/tag/service_type'  class='tag-link-10 nktagcloud-10' title='1 topic' rel="tag" style='font-size: 10pt;'>service_type</a><span class="nktagcloud_counter">(1)</span><span class="nktagcloud-separator"><br/></span></li>
	<li><a href='http://www.nowsms.com/tag/short-codes'  class='tag-link-68 nktagcloud-10' title='1 topic' rel="tag" style='font-size: 10pt;'>short codes</a><span class="nktagcloud_counter">(1)</span><span class="nktagcloud-separator"><br/></span></li>
	<li><a href='http://www.nowsms.com/tag/sierra-wireless'  class='tag-link-71 nktagcloud-10' title='1 topic' rel="tag" style='font-size: 10pt;'>Sierra Wireless</a><span class="nktagcloud_counter">(1)</span><span class="nktagcloud-separator"><br/></span></li>
	<li><a href='http://www.nowsms.com/tag/smil'  class='tag-link-102 nktagcloud-10' title='1 topic' rel="tag" style='font-size: 10pt;'>SMIL</a><span class="nktagcloud_counter">(1)</span><span class="nktagcloud-separator"><br/></span></li>
	<li><a href='http://www.nowsms.com/tag/smpp'  class='tag-link-59 nktagcloud-17' title='17 topics' rel="tag" style='font-size: 17.72pt;'>SMPP</a><span class="nktagcloud_counter">(17)</span><span class="nktagcloud-separator"><br/></span></li>
	<li><a href='http://www.nowsms.com/tag/smpp-async-mode'  class='tag-link-43 nktagcloud-10' title='3 topics' rel="tag" style='font-size: 10.97pt;'>SMPP Async Mode</a><span class="nktagcloud_counter">(3)</span><span class="nktagcloud-separator"><br/></span></li>
	<li><a href='http://www.nowsms.com/tag/smpp-errors'  class='tag-link-14 nktagcloud-11' title='4 topics' rel="tag" style='font-size: 11.45pt;'>SMPP errors</a><span class="nktagcloud_counter">(4)</span><span class="nktagcloud-separator"><br/></span></li>
	<li><a href='http://www.nowsms.com/tag/smppoptions'  class='tag-link-12 nktagcloud-11' title='4 topics' rel="tag" style='font-size: 11.45pt;'>SMPPOptions</a><span class="nktagcloud_counter">(4)</span><span class="nktagcloud-separator"><br/></span></li>
	<li><a href='http://www.nowsms.com/tag/smpp-server'  class='tag-link-80 nktagcloud-11' title='4 topics' rel="tag" style='font-size: 11.45pt;'>SMPP Server</a><span class="nktagcloud_counter">(4)</span><span class="nktagcloud-separator"><br/></span></li>
	<li><a href='http://www.nowsms.com/tag/smpp-tlv-parameters'  class='tag-link-101 nktagcloud-11' title='5 topics' rel="tag" style='font-size: 11.93pt;'>SMPP TLV Parameters</a><span class="nktagcloud_counter">(5)</span><span class="nktagcloud-separator"><br/></span></li>
	<li><a href='http://www.nowsms.com/tag/smpp-ton'  class='tag-link-103 nktagcloud-10' title='2 topics' rel="tag" style='font-size: 10.48pt;'>SMPP TON</a><span class="nktagcloud_counter">(2)</span><span class="nktagcloud-separator"><br/></span></li>
	<li><a href='http://www.nowsms.com/tag/smsgw-ini'  class='tag-link-74 nktagcloud-10' title='1 topic' rel="tag" style='font-size: 10pt;'>SMSGW.INI</a><span class="nktagcloud_counter">(1)</span><span class="nktagcloud-separator"><br/></span></li>
	<li><a href='http://www.nowsms.com/tag/sms-hubbing'  class='tag-link-111 nktagcloud-10' title='3 topics' rel="tag" style='font-size: 10.97pt;'>SMS hubbing</a><span class="nktagcloud_counter">(3)</span><span class="nktagcloud-separator"><br/></span></li>
	<li><a href='http://www.nowsms.com/tag/port-addressing'  class='tag-link-19 nktagcloud-10' title='2 topics' rel="tag" style='font-size: 10.48pt;'>SMS port addressing</a><span class="nktagcloud_counter">(2)</span><span class="nktagcloud-separator"><br/></span></li>
	<li><a href='http://www.nowsms.com/tag/sms-shift-table'  class='tag-link-99 nktagcloud-10' title='1 topic' rel="tag" style='font-size: 10pt;'>SMS shift table</a><span class="nktagcloud_counter">(1)</span><span class="nktagcloud-separator"><br/></span></li>
	<li><a href='http://www.nowsms.com/tag/soap'  class='tag-link-49 nktagcloud-10' title='1 topic' rel="tag" style='font-size: 10pt;'>SOAP</a><span class="nktagcloud_counter">(1)</span><span class="nktagcloud-separator"><br/></span></li>
	<li><a href='http://www.nowsms.com/tag/ssltls'  class='tag-link-87 nktagcloud-10' title='2 topics' rel="tag" style='font-size: 10.48pt;'>SSL/TLS</a><span class="nktagcloud_counter">(2)</span><span class="nktagcloud-separator"><br/></span></li>
	<li><a href='http://www.nowsms.com/tag/statistics'  class='tag-link-63 nktagcloud-10' title='3 topics' rel="tag" style='font-size: 10.97pt;'>statistics</a><span class="nktagcloud_counter">(3)</span><span class="nktagcloud-separator"><br/></span></li>
	<li><a href='http://www.nowsms.com/tag/supportblog'  class='tag-link-1 nktagcloud-10' title='1 topic' rel="tag" style='font-size: 10pt;'>Support Blog</a><span class="nktagcloud_counter">(1)</span><span class="nktagcloud-separator"><br/></span></li>
	<li><a href='http://www.nowsms.com/tag/throttling'  class='tag-link-41 nktagcloud-10' title='1 topic' rel="tag" style='font-size: 10pt;'>throttling</a><span class="nktagcloud_counter">(1)</span><span class="nktagcloud-separator"><br/></span></li>
	<li><a href='http://www.nowsms.com/tag/ucpemi'  class='tag-link-47 nktagcloud-10' title='2 topics' rel="tag" style='font-size: 10.48pt;'>UCP/EMI</a><span class="nktagcloud_counter">(2)</span><span class="nktagcloud-separator"><br/></span></li>
	<li><a href='http://www.nowsms.com/tag/unicode'  class='tag-link-16 nktagcloud-10' title='2 topics' rel="tag" style='font-size: 10.48pt;'>Unicode</a><span class="nktagcloud_counter">(2)</span><span class="nktagcloud-separator"><br/></span></li>
	<li><a href='http://www.nowsms.com/tag/update'  class='tag-link-89 nktagcloud-10' title='2 topics' rel="tag" style='font-size: 10.48pt;'>update</a><span class="nktagcloud_counter">(2)</span><span class="nktagcloud-separator"><br/></span></li>
	<li><a href='http://www.nowsms.com/tag/url-parameters'  class='tag-link-27 nktagcloud-10' title='2 topics' rel="tag" style='font-size: 10.48pt;'>URL Parameters</a><span class="nktagcloud_counter">(2)</span><span class="nktagcloud-separator"><br/></span></li>
	<li><a href='http://www.nowsms.com/tag/usb-modem'  class='tag-link-79 nktagcloud-13' title='8 topics' rel="tag" style='font-size: 13.38pt;'>USB modem</a><span class="nktagcloud_counter">(8)</span><span class="nktagcloud-separator"><br/></span></li>
	<li><a href='http://www.nowsms.com/tag/user-account-provisioning'  class='tag-link-95 nktagcloud-10' title='1 topic' rel="tag" style='font-size: 10pt;'>user account provisioning</a><span class="nktagcloud_counter">(1)</span><span class="nktagcloud-separator"><br/></span></li>
	<li><a href='http://www.nowsms.com/tag/ussd'  class='tag-link-11 nktagcloud-10' title='2 topics' rel="tag" style='font-size: 10.48pt;'>USSD</a><span class="nktagcloud_counter">(2)</span><span class="nktagcloud-separator"><br/></span></li>
	<li><a href='http://www.nowsms.com/tag/vasp'  class='tag-link-69 nktagcloud-10' title='1 topic' rel="tag" style='font-size: 10pt;'>VASP</a><span class="nktagcloud_counter">(1)</span><span class="nktagcloud-separator"><br/></span></li>
	<li><a href='http://www.nowsms.com/tag/vb'  class='tag-link-107 nktagcloud-10' title='1 topic' rel="tag" style='font-size: 10pt;'>VB</a><span class="nktagcloud_counter">(1)</span><span class="nktagcloud-separator"><br/></span></li>
	<li><a href='http://www.nowsms.com/tag/vbscript'  class='tag-link-26 nktagcloud-10' title='2 topics' rel="tag" style='font-size: 10.48pt;'>VBScript</a><span class="nktagcloud_counter">(2)</span><span class="nktagcloud-separator"><br/></span></li>
	<li><a href='http://www.nowsms.com/tag/verisign'  class='tag-link-70 nktagcloud-10' title='1 topic' rel="tag" style='font-size: 10pt;'>Verisign</a><span class="nktagcloud_counter">(1)</span><span class="nktagcloud-separator"><br/></span></li>
	<li><a href='http://www.nowsms.com/tag/vodafone'  class='tag-link-50 nktagcloud-10' title='1 topic' rel="tag" style='font-size: 10pt;'>Vodafone</a><span class="nktagcloud_counter">(1)</span><span class="nktagcloud-separator"><br/></span></li>
	<li><a href='http://www.nowsms.com/tag/wap-gateway'  class='tag-link-40 nktagcloud-12' title='6 topics' rel="tag" style='font-size: 12.41pt;'>WAP Gateway</a><span class="nktagcloud_counter">(6)</span><span class="nktagcloud-separator"><br/></span></li>
	<li><a href='http://www.nowsms.com/tag/wap-proxy'  class='tag-link-39 nktagcloud-12' title='6 topics' rel="tag" style='font-size: 12.41pt;'>WAP Proxy</a><span class="nktagcloud_counter">(6)</span><span class="nktagcloud-separator"><br/></span></li>
	<li><a href='http://www.nowsms.com/tag/wap-push'  class='tag-link-58 nktagcloud-13' title='9 topics' rel="tag" style='font-size: 13.86pt;'>WAP Push</a><span class="nktagcloud_counter">(9)</span><span class="nktagcloud-separator"><br/></span></li>
	<li><a href='http://www.nowsms.com/tag/wap-push-proxy-gateway'  class='tag-link-83 nktagcloud-10' title='3 topics' rel="tag" style='font-size: 10.97pt;'>WAP Push Proxy Gateway</a><span class="nktagcloud_counter">(3)</span><span class="nktagcloud-separator"><br/></span></li>
	<li><a href='http://www.nowsms.com/tag/xml'  class='tag-link-64 nktagcloud-10' title='3 topics' rel="tag" style='font-size: 10.97pt;'>XML</a><span class="nktagcloud_counter">(3)</span><span class="nktagcloud-separator"><br/></span></li>
</ul>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.nowsms.com/techsupport/tech-support-files/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>2-Way / Inbound SMS Retry Error Handling</title>
		<link>http://www.nowsms.com/2-way-inbound-sms-retry-error-handling</link>
		<comments>http://www.nowsms.com/2-way-inbound-sms-retry-error-handling#comments</comments>
		<pubDate>Thu, 01 Mar 2012 20:11:12 +0000</pubDate>
		<dc:creator>brett</dc:creator>
				<category><![CDATA[Support Blog]]></category>
		<category><![CDATA[2-way SMS]]></category>
		<category><![CDATA[retry attempts]]></category>

		<guid isPermaLink="false">http://www.nowsms.com/?p=13432</guid>
		<description><![CDATA[This article will explain how NowSMS handles retry situations when processing inbound SMS messages via a 2-way command, and there is a connectivity or other problem processing the 2-way command, particularly with regard to HTTP based 2-way SMS message processing commands. There are other articles that explain how NowSMS handles retry situations for outbound message [...]]]></description>
				<content:encoded><![CDATA[<p>This article will explain how NowSMS handles retry situations when processing inbound SMS messages via a 2-way command, and there is a connectivity or other problem processing the 2-way command, particularly with regard to HTTP based 2-way SMS message processing commands.</p>
<p>There are other articles that explain how NowSMS handles retry situations for outbound message delivery.  A good overview can be found in the article <a href="http://www.nowsms.com/smpp-error-code-handling-in-nowsms">SMPP Error Code Handling in NowSMS</a>.  While that article focuses primarily on SMPP connections, the general parameters do also apply to modems.  Additional issues specific to CIMD2 and UCP/EMI SMSC connections can be found in the article <a href="http://www.nowsms.com/sms-retry-error-handling-with-ucpemi-and-cimd">SMS Retry Error Handling with UCP/EMI and CIMD2</a>.</p>
<p>There are two types of error conditions to consider.   One condition is that the 2-way command is unable to process a message and returns an error response, such as &#8220;500 Internal Error&#8221;.  This could happen because of a web server configuration problem, or it could also happen because of a logic error in the 2-way command &#8230; for example, it is not uncommon to find programming errors in a 2-way command where unexpected message content causes unexpected problems.  The other type of condition, is a connectivity problem where it is not possible to connect to the web server hosting the 2-way command.</p>
<p>If a web server returns a valid HTTP error response, such as &#8220;500 Internal Error&#8221;, NowSMS policy is to mark the message as bad and never retry the message.  Over 5 years ago, older versions of NowSMS used to retry messages in these situations, but customers who encountered script problems complained about duplicate messages when their scripts returned unexpected errors.   When a message in the 2-way SMS queue fails in this manner, a file with a .BAD file extension is created inside the NowSMS\SMS-IN directory structure.  It is  possible to rename the file with a .IN file extension to trigger NowSMS to reprocess the message.</p>
<p>The remainder of this document explains retry procedures for messages where it is not possible to connect to the web server hosting the 2-way command, or the web server does not return a valid HTTP response (timeout).</p>
<p>By default, NowSMS will retry 20 times with a staggered delay based upon the number of previous failures.</p>
<p>The default behaviour for the delayed retry schedule works like this:</p>
<p>After the first error, a retry can be attempted immediately (but first NowSMS will try other pending messages).</p>
<p>After the second error, NowSMS will wait 30 seconds before allowing the message to be retried.</p>
<p>After the third error, NowSMS will wait 60 seconds before allowing the message to be retried.</p>
<p>For each successive error, NowSMS waits an additional 30 seconds before allowing a retry.</p>
<p>After 20 errors, the message will be considered as failed.</p>
<p>The following parameters can be applied to the [2Way] section of the SMSGW.INI file to provide additional control for this retry schedule (this section of the file will not exist until you create it):</p>
<p><strong>RetryDelay=</strong><br />
<strong>RetryDelayMultiplier=</strong><br />
<strong>RetryDelayAfterAttempts=</strong><br />
<strong> RetryDelayMax=</strong><br />
<strong> RetryMaxAttempts=</strong></p>
<p><strong>RetryDelay=</strong>#### specifies a number of seconds to wait to retry sending after an error condition, the default value is 30.</p>
<p><strong>RetryDelayMultiplier</strong>=### specifies a multiplier to be applied for successive send failures, the default value is 1. For each failed attempt, the retry delay will be the product of RetryDelay*RetryDelayMultiplier*#FailedAttempts. To use a fixed retry delay of RetryDelay, specify RetryDelayMultiplier=0.</p>
<p><strong>RetryDelayAfterAttempts</strong>=### specifies that the retry delay should only be applied after ### failed attempts, the default value is 2. NowSMS will immediately retry a failed message send until it has made RetryDelayAfterAttempts, after which it will apply a retry delay.</p>
<p><strong>RetryDelayMax</strong>=### specifies the maximum number of seconds that NowSMS will allow to elapse between retries, putting a limit on the multiplier.</p>
<p><strong>RetryMaxAttempts</strong>=### specifies the maximum number of retries that NowSMS will attempt before a message is rejected, the default value is 20.</p>
<p>Note: If memory serves me correctly, the default values will result in about 90 minutes worth of retries before erroring out. (And the message file being renamed with a .BAD extension.)</p>
<p>Note that if these same settings names are also used to control retry behaviour for outbound messages.</p>
<p>Retry settings set under the [SMSGW] section header will apply to both inbound (2-way) and outbound messages.  If retry settings exist under both [2Way] and [SMSGW], [2Way] settings are used for inbound (2-way) messages and [SMSGW] settings are used for outbound messages.</p>
<p>Retry settings can also be placed under connection specific headers (e.g., [Modem - xxx] or [SMPP - server:port]) so that different rules can apply to different outbound connections.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.nowsms.com/2-way-inbound-sms-retry-error-handling/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Understanding SMS Accounting Callbacks for Billing and Charging</title>
		<link>http://www.nowsms.com/understanding-sms-accounting-callbacks</link>
		<comments>http://www.nowsms.com/understanding-sms-accounting-callbacks#comments</comments>
		<pubDate>Tue, 21 Feb 2012 00:05:32 +0000</pubDate>
		<dc:creator>brett</dc:creator>
				<category><![CDATA[Support Blog]]></category>
		<category><![CDATA[accounting callbacks]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[billing]]></category>
		<category><![CDATA[charging]]></category>
		<category><![CDATA[SMPP TLV Parameters]]></category>

		<guid isPermaLink="false">http://www.nowsms.com/?p=13421</guid>
		<description><![CDATA[Accounting callbacks provide an interface between the NowSMS SMS Gateway and external billing and charging systems.  They can also be used to control message routing, providing a way for a  user application to control which SMSC connections are used for sending particular messages. These accounting callbacks are HTTP-based. When accounting callbacks are enabled, NowSMS will [...]]]></description>
				<content:encoded><![CDATA[<p>Accounting callbacks provide an interface between the NowSMS SMS Gateway and external billing and charging systems.  They can also be used to control message routing, providing a way for a  user application to control which SMSC connections are used for sending particular messages.</p>
<p>These accounting callbacks are HTTP-based. When accounting callbacks are enabled, NowSMS will issue HTTP requests to a customer supplied URL in order to interface with the customer billing and charging systems.</p>
<p>To enable SMS accounting callbacks, it is necessary to manually edit the SMSGW.INI configuration file, and define the callback URL under the [SMSGW] section header, using the following configuration parameter:</p>
<p><span style="color: #000000;"><span class="notranslate" style="font-family: 'Courier New', monospace;"><span style="font-size: x-small;">SMSAccountingURL=http://server/path</span></span></span></p>
<p>Whenever the SMS Gateway processes an SMS message, it issues an accounting callback by issuing an HTTP transaction to the callback URL. Variables describing the SMS message transaction are appended to the SMSAccoutingURL as HTTP GET CGI-style variables, with standard URL escaping applied for encoding reserved characters.</p>
<p>For example:</p>
<p><span style="color: #000000;"><span class="notranslate" style="font-family: 'Courier New', monospace;"><span style="font-size: x-small;">http://server.name/path?PreAuth<span class="notranslate">=Yes</span>&amp;Type=SMSSend&amp;From=UserAccount&amp;To=%2B447777777777<br />
&amp;MsgCount=1&amp;SubmitIP=127.0.0.1&amp;Text=This%20is%20a%20test.<span style="font-family: Georgia;"><span style="font-size: small;"><br />
</span></span></span></span></span></p>
<p>(These variables and transaction types will be described later in this section.)</p>
<p>Accounting callbacks exist primarily to record billing and charging information, however they also can offer the ability to maintain credit control external to NowSMS.</p>
<p>The following accounting callbacks exist for SMS Messaging:</p>
<ul>
<li><strong>SMSSend PreAuth Callback</strong> &#8211; This callback occurs when a client user account is attempting to submit an SMS message to NowSMS.  The callback can choose to accept or reject the message, and can optionally control message routing and some other message attributes.</li>
<li><strong>SMSSend Accounting Callback</strong> &#8211; This callback occurs when a client user account has submitted an SMS message to NowSMS, and NowSMS has accepted this message for processing.  The callback can choose to accept or reject the message, and can optionally control message routing and some other message attributes.</li>
<li><strong>SMSOut Accounting Callback</strong> &#8211; This callback records that a message has been submitted to an upstream SMSC connection, or has an encountered an error condition or rejection when attempting to be sent to an upstream SMSC connection.</li>
<li><strong>SMSIn Accounting Callback</strong> &#8211; This callback records that an inbound message has been received from an upstream SMSC connection.</li>
</ul>
<p>The remainder of this section provides additional details on the parameters supported by these callbacks.</p>
<h2>SMSSend PreAuth Callback</h2>
<p>This callback is executed when an SMS (web, SMPP, SMTP) user is requesting to send a message.</p>
<p>This is a “pre-authorisation” request, and does not mean that the message will actually be accepted by NowSMS for delivery. If NowSMS cannot successfully connect to the accounting URL, or the URL returns a response other than a standard “HTTP 200 OK” response, the user request to send a message will be blocked.  To separate error conditions from active blocking of a message, we recommend that the response include the text &#8220;PreAuth=Deny&#8221; if the message should be blocked from acceptance.</p>
<p>HTTP clients can submit a single message to multiple recipients.  In this case, normal behaviour for NowSMS is to use a single PreAuth callback specifying the  number of messages that will be sent in the &#8220;MsgCount&#8221; parameter.  It is possible to override this behaviour and generate a separate PreAuth callback per recipient by setting SMSAccountingPreAuthPerRecip=Yes under the [SMSGW] section header of SMSGW.INI.  (The setting SMSAccountingMustSetRoute=Yes also forces this per recipient callback behaviour.)  If a PreAuth callback rejects one recipient of a multiple recipient message, the entire message will be rejected.  For this reason, it is important to understand that a successful PreAuth callback does not mean that NowSMS has accepted a message for processing.  NowSMS will generate a separate SMSSend Accounting Callback (always one per recipient) when it accepts the message for further processing.</p>
<p>The following variables will be set for a pre-authorisation request:</p>
<p><strong>PreAuth=</strong>Yes (indicates that the message is a Pre-Authorisation Request)<br />
<strong>Type=</strong>SMSSend<br />
<strong>From=</strong>Defined <span class="notranslate">&#8220;SMS Users&#8221;</span> Account<br />
<strong>To=</strong>Comma delimited list of message recipients (will not be present if message is addressed to more than 100 recipients)<br />
<strong>MsgCount=</strong>#### (number of recipients user is requesting to send the message to)<br />
<strong>SubmitIP=</strong>a.b.c.d<br />
<strong>SMSC<span class="notranslate">Route=</span></strong>xxxxxx (optional, will be present only if an explicit route was requested in message submission)<br />
<strong>Sender=</strong>xxxxxx (optional, will be present only if a sender address was specified in message submission)<br />
<strong>Binary=</strong>1 (optional, will be present if the message is binary)<br />
<strong>PID=</strong># (optional, will be present only if a non-zero PID value was specified in message submission)<br />
<strong>DCS=</strong># (optional, will be present only if a non-zero DCS value was specified in message submission)<br />
<strong>UDH=</strong>HexString (optional, will be present only if message contains User Data Header)<br />
<strong>Data=</strong>HexString (optional, will be present only if message is binary)<br />
<strong>Text=</strong>String (optional, will be present only if message is text)<br />
<strong>ReceiptRequested=</strong>Yes (optional, will be present only if message is requesting a delivery receipt &#8230; only available in v2009.01.26 and later)</p>
<p>Any defined SMPPOption parameters will also be included.</p>
<p>(Note: For SMTP message submissions, only PreAuth, Type, From, To and MsgCount variables will be present.)</p>
<p>Example:</p>
<p><span class="notranslate" style="font-family: 'Courier New', monospace;"><span style="font-size: x-small;">http://server.name/path?PreAuth<span class="notranslate">=Yes</span>&amp;Type=SMSSend&amp;From=UserAccount&amp;To=%2B447777777777&amp;MsgCount=1&amp;SubmitIP=127.0.0.1&amp;Text=This%20is%20a%20test.</span></span></p>
<p>Note that URL escaping is performed when building the URL string. Most HTTP scripting languages will automatically unescape these parameters for you (e.g., %2B is translated back to &#8220;+&#8221; and %20 is translated back to a space character).</p>
<p>The HTTP response can include additional text responses to further control message processing.  These additional responses are expected to appear in the text of the HTTP response, as Name=Value entries appearing with one Name=Value per line of text (e.g., separated by new line characters).</p>
<p><strong>The following Name=Value responses are supported for the SMSSend PreAuth Callback:</strong></p>
<p><strong>PreAuth=</strong>Deny</p>
<p>This causes NowSMS to reject the message, and the submitting client will receive a submission error.</p>
<p><strong>SMPPErrorCode</strong>=0x#### or ####</p>
<p>Specifies a numeric error code to be returned to the submitting client if the message was submitted via SMPP.  The default error code for a rejected message is 0&#215;0058 (ESME_RTHROTTLED).</p>
<p><strong>RejectMessage</strong>=text string</p>
<p>This parameter specifies error text to be returned to the user if the submission interface supports returning such text (e.g., HTTP).</p>
<p><strong>The following Name=Value responses are supported only if SMSAccountingPreAuthPerRecip=Yes or SMSAccountingMustSetRoute=Yes is set under the [SMSGW] section header of SMSGW.INI:</strong></p>
<p><strong>SMSCRoute</strong>=routename</p>
<p>If this setting is present in the response, NowSMS will use the specified outbound route name for delivering the message.   (For more information on SMS message routing, see <a href="http://www.nowsms.com/routing-sms-messages-to-a-specifc-smsc-route">http://www.nowsms.com/routing-sms-messages-to-a-specifc-smsc-route</a>.)  In NowSMS versions 2011.08.11 and later, the SMSCRoute can also take the format localuser:username (the text localuser: followed by a user account name) to indicate that the message should be routed to a local user account instead of an outbound SMSC connection.</p>
<p>Note:  If you are relying on accounting callbacks to set route information, we recommend setting SMSAccountingMustSetRoute=Yes under the [SMSGW] section header of SMSGW.INI.  If this setting is not present, and an accounting callback returns invalid or missing routing information, NowSMS will use its internal routing logic to route the message.   If this setting is present, NowSMS will reject or fail messages if the accounting callback returns invalid or missing routing information.</p>
<p>Further Note:  Routing information can be returned in response to either the SMSSend PreAuth or SMSSend Accounting Callbacks.  If set by the SMSSend PreAuth Callback, any routing response by the SMSSend Accounting Callback will  be ignored and the PreAuth routing information will be used.</p>
<p><strong>RouteCharge</strong>=####</p>
<p>If NowSMS credit balances are being used for user accounts, this specifies a charge to be used for the message.  By default, NowSMS assumes 1 credit per message.  This value can support a variable number of credits, including decimal values valid to thousandths of a credit (e.g., .001).</p>
<p><strong>UserData</strong>=text</p>
<p>If this value is returned, it will be passed as a parameter to any future SMSSend Accounting Callback referencing this same transaction.  NowSMS versions 2012.02.09 and later will also pass this parameter to any future SMSOut Accounting Callback referencing this same transaction.</p>
<p>Accounting callbacks also have the ability to modify some message attributes (v2011.05.23+), including sender/source address, recipient/destination address and SMPP TLV parameters.  <strong>The following Name=Value responses are supported only if SMSAccountingAllowChanges=Yes is set under the [SMSGW] section header of SMSGW.INI: </strong>&#8220;To=&#8221;, &#8220;Sender=&#8221;, &#8220;ServiceType=&#8221;, &#8220;Validity=&#8221;, and &#8220;SMPPOption_xxxx=&#8221; (SMPPOption_xxxx refers to any optional <a href="http://www.nowsms.com/tag/smpp-tlv-parameters">SMPP TLV parameters</a> that have been configured in NowSMS).  If any of these Name=Value parameters are present, the value specified will replace the existing value in the message being processed.  (In the case of SMPPOption_xxxx= parameters, a blank value will remove the parameter.)  It is recommended that the HTTP response terminate each value with a new line to signal the end of the value string.</p>
<p>&nbsp;</p>
<h2>SMSSend Accounting Callback</h2>
<p>This callback is executed after an SMS message that has been submitted by a client user account has been accepted by NowSMS for further processing.</p>
<p>In NowSMS 2009 and later, NowSMS will check the response to the HTTP request. If this response includes the text &#8220;SMSC<span class="notranslate">Route=</span>xxxxx&#8221;, then NowSMS will apply this SMSC route for the message. The specified route &#8220;xxxxx&#8221; can either be the name of a particular SMSC connection (e.g., &#8220;SMPP &#8211; host:port&#8221;), or it can be the value of the &#8220;RouteName=&#8221; attribute defined for one or more connections. (For more information on the &#8220;RouteName=&#8221; attribute, see <a href="http://www.nowsms.com/routing-sms-messages-to-a-specifc-smsc-route">http://www.nowsms.com/routing-sms-messages-to-a-specifc-smsc-route</a>.)</p>
<p>In NowSMS versions 2011.08.11 and later, the SMSCRoute can also take the format localuser:username (the text localuser: followed by a user account name) to indicate that the message should be routed to a local user account instead of an outbound SMSC connection.</p>
<p>Note:  If you are relying on accounting callbacks to set route information, we recommend setting SMSAccountingMustSetRoute=Yes under the [SMSGW] section header of SMSGW.INI.  If this setting is not present, and an accounting callback returns invalid or missing routing information, NowSMS will use its internal routing logic to route the message.   If this setting is present, NowSMS will reject or fail messages if the accounting callback returns invalid or missing routing information.</p>
<p>The following variables will be set for the accounting callback:</p>
<p><strong>Type=</strong>SMSSend<br />
<strong>From=</strong>Defined <span class="notranslate">&#8220;SMS Users&#8221;</span> Account<br />
<strong>To=</strong>Message Recipient Phone Number (if the message is sent to multiple recipients, this callback is repeated for each recipient)<br />
<strong>MessageID=</strong>Message ID assigned to the message by NowSMS<br />
<strong>SubmitIP=</strong>a.b.c.d<br />
<strong>SMSC<span class="notranslate">Route=</span></strong>xxxxxx (optional, will be present only if an explicit route was requested in message submission)<br />
<strong>Sender=</strong>xxxxxx (optional, will be present only if a sender address was specified in message submission)<br />
<strong>Binary=</strong>1 (optional, will be present if the message is binary)<br />
<strong>PID=</strong># (optional, will be present only if a non-zero PID value was specified in message submission)<br />
<strong>DCS=</strong># (optional, will be present only if a non-zero DCS value was specified in message submission)<br />
<strong>UDH=</strong>HexString (optional, will be present only if message contains User Data Header)<br />
<strong>Data=</strong>HexString (optional, will be present only if message is binary)<br />
<strong>Text=</strong>String (optional, will be present only if message is text)<br />
<strong>ReceiptRequested=</strong>Yes (optional, will be present only if message is requesting a delivery receipt &#8230; only available in v2009.01.26 and later)</p>
<p>Any defined SMPPOption parameters will also be included.</p>
<p>(Note: For SMTP message submissions, only Type, From, and To variables will be present.)</p>
<p>Example:</p>
<p><span class="notranslate" style="font-family: 'Courier New', monospace;"><span style="font-size: x-small;">http://server.name/path?Type=SMSSend&amp;From=UserAccount&amp;To=%2B447777777777&amp;SubmitIP=127.0.0.1&amp;Text=This%20is%20a%20test.<br />
</span></span><br />
Note that URL escaping is performed when building the URL string. Most HTTP scripting languages will automatically unescape these parameters for you (e.g., %2B is translated back to &#8220;+&#8221; and %20 is translated back to a space character).</p>
<p>The HTTP response can include additional text responses to further control message processing.  These additional responses are expected to appear in the text of the HTTP response, as Name=Value entries appearing with one Name=Value per line of text (e.g., separated by new line characters).</p>
<p><strong>The following Name=Value responses are supported for the SMSSend Accounting callback:</strong></p>
<p><strong>SMSCRoute</strong>=routename</p>
<p>If this setting is present in the response, NowSMS will use the specified outbound route name for delivering the message.   (For more information on SMS message routing, see <a href="http://www.nowsms.com/routing-sms-messages-to-a-specifc-smsc-route">http://www.nowsms.com/routing-sms-messages-to-a-specifc-smsc-route</a>.)  In NowSMS versions 2011.08.11 and later, the SMSCRoute can also take the format localuser:username (the text localuser: followed by a user account name) to indicate that the message should be routed to a local user account instead of an outbound SMSC connection.</p>
<p>Note:  If you are relying on accounting callbacks to set route information, we recommend setting SMSAccountingMustSetRoute=Yes under the [SMSGW] section header of SMSGW.INI.  If this setting is not present, and an accounting callback returns invalid or missing routing information, NowSMS will use its internal routing logic to route the message.   If this setting is present, NowSMS will reject or fail messages if the accounting callback returns invalid or missing routing information.</p>
<p>Further Note:  Routing information can be returned in response to either the SMSSend PreAuth or SMSSend Accounting Callbacks.  If set by the SMSSend PreAuth Callback, any routing response by the SMSSend Accounting Callback will  be ignored and the PreAuth routing information will be used.</p>
<p><strong>UserData</strong>=text</p>
<p>If this value is returned, NowSMS versions 2012.02.09 and later will also pass this parameter to any future SMSOut Accounting Callback referencing this same transaction.</p>
<p>Accounting callbacks also have the ability to modify some message attributes (v2011.05.23+), including sender/source address, recipient/destination address and SMPP TLV parameters.  <strong>The following Name=Value responses are supported only if SMSAccountingAllowChanges=Yes is set under the [SMSGW] section header of SMSGW.INI: </strong>&#8220;To=&#8221;, &#8220;Sender=&#8221;, &#8220;ServiceType=&#8221;, &#8220;Validity=&#8221;, and &#8220;SMPPOption_xxxx=&#8221; (SMPPOption_xxxx refers to any optional <a href="http://www.nowsms.com/tag/smpp-tlv-parameters">SMPP TLV parameters</a> that have been configured in NowSMS).  If any of these Name=Value parameters are present, the value specified will replace the existing value in the message being processed.  (In the case of SMPPOption_xxxx= parameters, a blank value will remove the parameter.)  It is recommended that the HTTP response terminate each value with a new line to signal the end of the value string.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<h2>SMSOut Accounting Callback</h2>
<p>This callback is executed when a submitted SMS message is dispatched to an upstream SMSC connection, or queued for a local SMPP user account.</p>
<p>The response to this HTTP callback is currently ignored. A standard HTTP 200 OK response is encouraged for future compatibility.</p>
<p>The following variables can be set for the accounting callback:</p>
<p><strong>Type</strong>=SMSOut<br />
<strong>From</strong>=String (local user account name, or upstream SMSC connection name)<br />
<strong>To</strong>=Message Recipient Phone Number<br />
<strong>MessageID</strong>=Message ID assigned to the message by NowSMS<br />
<strong>SubmitIP</strong>=a.b.c.d (not present for messages received from upstream SMSC connection)<br />
<strong>Sender</strong>=xxxxxx<br />
<strong>Binary</strong>=1 (optional, will be present if the message is binary)<br />
<strong>PID</strong>=# (optional, will be present only if a non-zero PID value was specified in message submission)<br />
<strong>DCS</strong>=# (optional, will be present only if a non-zero DCS value was specified in message submission)<br />
<strong>UDH</strong>=HexString (optional, will be present only if message contains User Data Header)<br />
<strong>Data</strong>=HexString (optional, will be present only if message is binary)<br />
<strong>Text</strong>=String (optional, will be present only if message is text)<br />
<strong>MessageID</strong>=String (NowSMS assigned message ID)<br />
<strong>SMSCMsgId</strong>=String (upstream SMSC assigned message ID, if available)<br />
<strong>SMSCName</strong>=String (the SMSC connection to which this message was routed in the format that it appears in the NowSMS SMSC list, e.g., &#8220;SMPP &#8211; servername:port&#8221;)<br />
<strong>Status</strong>=String (Starts with &#8220;OK&#8221;, &#8220;Retry Pending&#8221; or &#8220;ERROR&#8221; to indicate message disposition)</p>
<p>Any defined SMPPOption parameters will also be included.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<h2>SMSIn Accounting Callback</h2>
<p>This callback is executed when an SMS message is received from an upstream SMSC connection.</p>
<p>The response to this HTTP callback is currently ignored. A standard HTTP 200 OK response is encouraged for future compatibility.</p>
<p>The following variables can be set for the accounting callback:</p>
<p><strong>Type</strong>=SMSIN<br />
<strong>To</strong>=Message Recipient Phone Number<br />
<strong>Sender</strong>=xxxxxx<br />
<strong>Binary</strong>=1 (optional, will be present if the message is binary)<br />
<strong>PID</strong>=# (optional, will be present only if a non-zero PID value was specified in message submission)<br />
<strong>DCS</strong>=# (optional, will be present only if a non-zero DCS value was specified in message submission)<br />
<strong>UDH</strong>=HexString (optional, will be present only if message contains User Data Header)<br />
<strong>Data</strong>=HexString (optional, will be present only if message is binary)<br />
<strong>Text</strong>=String (optional, will be present only if message is text)<br />
<strong>SMSCReceiptMsgID</strong>=String (optional, NowSMS assigned message ID will be present if this is a delivery receipt)<br />
<strong>SMSCReceiptMsgIDOrig</strong>=String (optional, upstream SMSC assigned message ID will be present if this is a delivery receipt)<br />
<strong>SMSCName</strong>=String (the SMSC connection from which this message was received in the format that it appears in the NowSMS SMSC list, e.g., &#8220;SMPP &#8211; servername:port&#8221;)</p>
<p>Any defined SMPPOption parameters will also be included.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.nowsms.com/understanding-sms-accounting-callbacks/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Provisioning SMS and MMSC User Accounts via HTTP</title>
		<link>http://www.nowsms.com/provisioning-sms-and-mmsc-user-accounts-via-http-2</link>
		<comments>http://www.nowsms.com/provisioning-sms-and-mmsc-user-accounts-via-http-2#comments</comments>
		<pubDate>Sun, 19 Feb 2012 00:11:56 +0000</pubDate>
		<dc:creator>brett</dc:creator>
				<category><![CDATA[Support Blog]]></category>

		<guid isPermaLink="false">http://www.nowsms.com/?p=13424</guid>
		<description><![CDATA[NowSMS has long supported external account provisioning via HTTP as described in the article at http://www.nowsms.com/provisioning-sms-and-mmsc-user-accounts-via-http. The purpose of this article is to document additional parameters supported in more recent versions of NowSMS. This provisioning interface is enabled whenever one or more user accounts is defined in NowSMS under &#8220;SMS Users&#8221; with the &#8220;Enable Admin Access&#8221; [...]]]></description>
				<content:encoded><![CDATA[<p>NowSMS has long supported external account provisioning via HTTP as described in the article at <a href="http://www.nowsms.com/provisioning-sms-and-mmsc-user-accounts-via-http">http://www.nowsms.com/provisioning-sms-and-mmsc-user-accounts-via-http</a>.</p>
<p>The purpose of this article is to document additional parameters supported in more recent versions of NowSMS.</p>
<p>This provisioning interface is enabled whenever one or more user accounts is defined in NowSMS under &#8220;SMS Users&#8221; with the &#8220;Enable Admin Access&#8221; checked.</p>
<p>This interface is accessed via the NowSMS web interface port, with a URI of &#8220;/provision&#8221; followed by a series of &#8220;HTTP GET&#8221; parameters. (The admin username and password must be supplied in the HTTP GET request within an &#8220;Authorization:&#8221; header using HTTP Basic Authentication, or they can be be appended to the URL as parameters such as /provision?user=username&amp;password=password.  Using URL parameters for provisioning authentication is supported only in NowSMS 2012.01.10 and later.)</p>
<p>Two different provisioning request formats are defined, one for defining &#8221;SMS Users&#8221; accounts, and a second for defining &#8220;MMSC Users&#8221; accounts.</p>
<p>If a parameter of &#8221;<strong>Type=SMS</strong>&#8220; is specified, the following parameters are supported:</p>
<p><strong>AdminAction</strong>=Add, Modify, Delete, or CreditCheck</p>
<p><strong>Name</strong>=Account Name</p>
<p><strong>Password</strong>=password</p>
<p><strong>Fullname</strong>=Full Name</p>
<p><strong>EnableWebLogin</strong>=Yes/No</p>
<p><strong>EnableSmppLogin</strong>=Yes/No</p>
<p><strong>EnableSmtpLogin</strong>=Yes/No</p>
<p><strong>ForcedSenderAddress</strong>=Sender Address</p>
<p><strong>RestrictIPAddress</strong>=list of IP addresses</p>
<p><strong>EnableCreditBalance</strong>=Yes/No</p>
<p><strong>CreditsToAdd</strong>=####</p>
<p><strong>MessageLimitDefault</strong>=Yes/No</p>
<p><strong>MessageLimitPerDay</strong>=####</p>
<p><strong>MessageLimitPerMonth</strong>=####</p>
<p><strong>RecipientAddresses</strong>=list of recipient phone numbers that should be routed to this account</p>
<p><strong>WebOptions</strong>=All/Advanced/TextOnly/Text/SMSMMS/SMSWAPMM/SMSMMSWAPMM</p>
<p><strong>AdminEnabled</strong>=Yes/No (version 2011.10.18 and later)</p>
<p><strong>ReceiveEnabled</strong>=Yes/No (version 2011.10.18 and later)</p>
<p>As an example, to add credits to an existing account, issue the following URL request:</p>
<p>http://server:port/provision?Type=SMS&#038;AdminAction=Modify&#038;Name=accountname&#038;CreditsToAdd=100</p>
<p>Assuming that the user is authorized to issue a provisioning command (valid username/password, and supported IP address for originating the request), the server will return a normal HTTP response code of 200 with a MIME content type of &#8220;text/plain&#8221;. The response will start with &#8220;OK&#8221; if the request was successful, or &#8220;ERROR&#8221; if the request failed. If a&#8221;CreditsToAdd&#8221; parameter was specified, or &#8221;AdminAction=CreditCheck&#8221;, the HTTP response will include the text &#8221;Credits=####&#8221;, where &#8220;####&#8221; is the current balance for the account.</p>
<p>If a parameter of &#8221;<strong>Type=MMS</strong>&#8220; is specified, the following parameters are supported:</p>
<p><strong>AdminAction</strong>=Add, Modify, Delete, or CreditCheck</p>
<p><strong>PhoneNumber</strong>=phonenumber</p>
<p><strong>Name</strong>=Alias</p>
<p><strong>Password</strong>=password</p>
<p><strong>Fullname</strong>=Full Name</p>
<p><strong>MessageLimitDefault</strong>=Yes/No</p>
<p><strong>MessageLimitPerDay</strong>=####</p>
<p><strong>MessageLimitPerMonth</strong>=####</p>
]]></content:encoded>
			<wfw:commentRss>http://www.nowsms.com/provisioning-sms-and-mmsc-user-accounts-via-http-2/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SMPP Server Adds @ Characters to Text Message</title>
		<link>http://www.nowsms.com/smpp-server-adds-characters-to-text-message</link>
		<comments>http://www.nowsms.com/smpp-server-adds-characters-to-text-message#comments</comments>
		<pubDate>Thu, 16 Feb 2012 00:32:26 +0000</pubDate>
		<dc:creator>brett</dc:creator>
				<category><![CDATA[Software Updates]]></category>
		<category><![CDATA[Support Blog]]></category>
		<category><![CDATA[SMPP Server]]></category>

		<guid isPermaLink="false">http://www.nowsms.com/?p=13412</guid>
		<description><![CDATA[It has come to our attention that a bug exists in the NowSMS SMPP Server implementation for versions dated between 2011.07.xx and 2012.01.xx inclusive. This bug only effects configurations where NowSMS is being used as an SMPP server.  In other words, an SMPP client is being used to submit messages to NowSMS, and messages are [...]]]></description>
				<content:encoded><![CDATA[<p>It has come to our attention that a bug exists in the NowSMS SMPP Server implementation for versions dated between 2011.07.xx and 2012.01.xx inclusive.</p>
<p>This bug only effects configurations where NowSMS is being used as an SMPP server.  In other words, an SMPP client is being used to submit messages to NowSMS, and messages are being segmented by the SMPP client before they are submitted to NowSMS.  (If the client uses message_payload submission and allows NowSMS to segment messages, the problem does not occur.)</p>
<p>This bug could cause up 1 to 3 extra @ characters to be appended to message text for long messages that require 3 or more segmented messages.  Specifically effected were messages where the final segment contained less than 4 characters of text, where extra @ characters might be added to cause the segment to have at least four characters.  For example, messages with between 207 and 209 characters inclusive would be padded to 210 characters with extra @ characters at the end.  Messages with between 460 and 462 characters inclusive were similarly effected, and padded to 463 characters in length.</p>
<p>(Effected messages had character lengths between (x * 153) + 1 and (x * 153) + 3 inclusive, where x is larger than 2.)</p>
<p>An updated release of NowSMS, which corrects this problem, is available at <a href="http://www.nowsms.com/download/nowsms20120209.zip">http://www.nowsms.com/download/nowsms20120209.zip</a>.</p>
<p>An updated release of NowSMS Lite which includes this fix is available at <a href="http://www.nowsms.com/download/lite20120209.zip">http://www.nowsms.com/download/lite20120209.zip</a>.</p>
<p>&nbsp;</p>
<p><strong>Please note that there are numerous other issues that can cause @ characters to appear unexpectedly in SMS messages, which are not specifically related to this bug.  This bug only effects messages of the specified lengths in the listed versions of NowSMS.</strong></p>
<p>Other unexpected problems related to the  @ character can occur because in the GSM character set, the @ character is represented by a NULL (value of 0).</p>
<p>If  you experience a problem where your text messages are truncated at an @ character, or @ characters are missing from text messages, this is indicative that you are using a different character set than the SMSC.  If you experience this problem with an SMPP connection, we recommend changing the &#8220;SMSC Character Setting&#8221; for the SMPP connection to use iso-8859-1, as this problem suggests that the SMPP provider is expected use of the iso-8859-1 character set.  By default, NowSMS uses the GSM character set for SMPP connections.</p>
<p>If you are experiencing problems sending particular characters via SMS, please post a query in our discussion forums at <a href="http://www.nowsms.com/messages">http://www.nowsms.com/messages</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.nowsms.com/smpp-server-adds-characters-to-text-message/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nokia N9 Unable to Receive MMS</title>
		<link>http://www.nowsms.com/nokia-n9-unable-to-receive-mms</link>
		<comments>http://www.nowsms.com/nokia-n9-unable-to-receive-mms#comments</comments>
		<pubDate>Mon, 13 Feb 2012 00:06:47 +0000</pubDate>
		<dc:creator>brett</dc:creator>
				<category><![CDATA[Software Updates]]></category>
		<category><![CDATA[Support Blog]]></category>
		<category><![CDATA[operator MMSC]]></category>

		<guid isPermaLink="false">http://www.nowsms.com/?p=13406</guid>
		<description><![CDATA[It has come to our attention that there is a bug in the MMS client of the Nokia N9 which can prevent this phone from being able to receive MMS messages from a NowSMS MMSC. The problem occurs because the MMS client cannot process an MMS notification message where the MMS Content URL contains a [...]]]></description>
				<content:encoded><![CDATA[<p>It has come to our attention that there is a bug in the MMS client of the Nokia N9 which can prevent this phone from being able to receive MMS messages from a NowSMS MMSC.</p>
<p>The problem occurs because the MMS client cannot process an MMS notification message where the MMS Content URL contains a URL escaped parameter.  When the MMS client encounters a URL escaped parameter in a URL, it re-encodes the URL with another level of URL escaping.  As an example, if the MMS client receives an MMS notification which includes a URL with a parameter <strong>?id=%2b</strong>, the MMS client converts this to <strong>?id=%252b</strong>.  This errant conversion causes the MMSC to be unable to determine the message that the client is asking to retrieve.</p>
<p>As a work-around for this issue, the following configuration setting can be applied in the <strong>[MMSC]</strong> section of the <strong>MMSC.INI</strong> file:</p>
<p><strong>CompactMMSURL=Yes</strong></p>
<p>This setting changes the format of the MMS content URL so that it will not include any URL escaped parameters, and will avoid the bug in the Nokia N9 MMS client.</p>
<p>The original intended effect of this setting was to reduce the length of the MMS Content URL by 14 bytes.  This setting should have no other effect on operation.</p>
<p>An updated release of the NowSMS MMSC is also available at <a href="http://www.nowsms.com/download/nowsms20120209.zip">http://www.nowsms.com/download/nowsms20120209.zip</a>, which implements a work-around for this problem without requiring any special configuration settings.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.nowsms.com/nokia-n9-unable-to-receive-mms/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Send MMS from C# .NET</title>
		<link>http://www.nowsms.com/send-mms-from-c-net</link>
		<comments>http://www.nowsms.com/send-mms-from-c-net#comments</comments>
		<pubDate>Thu, 09 Feb 2012 15:33:26 +0000</pubDate>
		<dc:creator>brett</dc:creator>
				<category><![CDATA[Support Blog]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Sending MMS]]></category>

		<guid isPermaLink="false">http://www.nowsms.com/?p=13367</guid>
		<description><![CDATA[A .NET C# example for sending MMS messages via NowSMS has been posted at the following link: http://www.nowsms.com/download/sendmms.c#.txt For a VB.NET version of this example, please see the related article Send MMS from VB.NET. MMS examples for other environments (PHP, Java, command line) can be found at http://www.nowsms.com/sending-mms-messages-with-nowsms. As discussed in Sending MMS Messages with NowSMS, [...]]]></description>
				<content:encoded><![CDATA[<p>A .NET C# example for sending MMS messages via NowSMS has been posted at the following link:  <a href="http://www.nowsms.com/download/sendmms.c%23.txt">http://www.nowsms.com/download/sendmms.c#.txt</a></p>
<p>For a VB.NET version of this example, please see the related article <a href="http://www.nowsms.com/send-mms-from-vb-net">Send MMS from VB.NET</a>.</p>
<p>MMS examples for other environments (PHP, Java, command line) can be found at <a href="http://www.nowsms.com/sending-mms-messages-with-nowsms">http://www.nowsms.com/sending-mms-messages-with-nowsms</a>.</p>
<p>As discussed in <a href="http://www.nowsms.com/sending-mms-messages-with-nowsms">Sending MMS Messages with NowSMS</a>, one of the easiest ways to interface with NowSMS for sending MMS messages is to use what we refer to as the Proprietary URL Submission interface.  This interface is the one used for sending messages via the forms in the built-in NowSMS web interface.  Sending an MMS message via this interface is a matter of using an HTTP POST to submit MMS content in the form using the MIME type &#8220;multipart/form-data&#8221;.  This technique is often referred to as &#8220;HTTP File Upload&#8221; and is associated with web pages that have a &#8220;Browse&#8221; button that allows files to be uploaded.</p>
<p>There&#8217;s a great C#.NET HTTP File Upload library at: <a href="http://aspnetupload.com/Upload-File-POST-HttpWebRequest-WebClient-RFC-1867.aspx" target="_blank">http://aspnetupload.com/Upload-File-POST-HttpWebRequest-WebClient-RFC-1867.aspx</a></p>
<p>A direct link to download the library is here (only the UploadHelper component is needed): <a href="http://aspnetupload.com/AspNetUploadSamples.zip" target="_blank">http://aspnetupload.com/AspNetUploadSamples.zip</a></p>
<p>In the event that this link does not work in the future, we have archived a copy of the library at the following link:</p>
<p>&nbsp;<br />
<center></p>
<table border="1">
<tbody>
<tr>
<td><img src="http://cdn3.nowsms.com/discus/icons/mime_zip.gif" alt="application/x-zip-compressed" align="left" />AspNetUploadSamples.zip<br />
<a href="http://www.nowsms.com/discus/messages/485/AspNetUploadSamples-70812.zip" target="_blank"><strong>AspNetUploadSamples.zip</strong></a>(388.7 k)</td>
</tr>
</tbody>
</table>
<p></center></p>
<p>&nbsp;</p>
<p>The following code example uses code from that library to send an MMS message:</p>
<p>(Note: This example can be downloaded at <a href="http://www.nowsms.com/download/sendmms.c%23.txt">http://www.nowsms.com/download/sendmms.c#.txt</a>.)</p>
<pre style="line-height: 12px;">// Set the following variables as appropriate for your system. 

// URL that points to NowSMS web interface 
Uri url = new Uri("http://127.0.0.1:8800/"); 

// Valid username/password for account defined in NowSMS under "SMS Users". 
String username = "testuser"; 
String password = "testpass"; 

// Images &amp; Files to be included in the message. 
// First parameter is filename and path. 
// Second parameter must be MMSFILE 
// Third parameter should be MIME type 

UploadFile[] files = new UploadFile[] 
{ 
new UploadFile("f:\\temp\\image1.png", "MMSFILE", "image/png"), 
new UploadFile("f:\\temp\\image2.jpg", "MMSFILE", "image/jpeg"), 
}; 

// Create additional form parameters for sending MMS 
NameValueCollection form = new NameValueCollection(); 

// "PhoneNumber" variable contains recipient phone number 
form["PhoneNumber"] = "9999999999"; 
// "MMSFROM" variable contains sender phone number or address
//  (Note: Ignored when sending via modem) 
form["MMSFROM"] = "9999999999"; 
// "MMSSUBJECT" variable contains subject line for message 
form["MMSSUBJECT"] = "test subject"; 
// "MMSTEXT" variable contains test to appear in message (optional) 
form["MMSTEXT"] = "This is a test message"; 

// Send the request to NowSMS, creating an HttpWebRequest and 
// then use HttpUploadHelper to send files in multipart/form-data format 
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url); 

var credCache = new CredentialCache(); 
credCache.Add(url, "Basic", new NetworkCredential(username, password)); 
req.Credentials = credCache; 

HttpWebResponse resp = HttpUploadHelper.Upload(req, files, form); 

// Read the HTTP response and echo to console 
using (Stream s = resp.GetResponseStream()) 
using (StreamReader sr = new StreamReader(s)) 
{ 
string response = sr.ReadToEnd(); 
System.Console.WriteLine(response); 
}</pre>
<p>&nbsp;</p>
<p>Additional MMS options can be included using the <b>form["variablename"] = &#8220;value&#8221;</b> syntax shown in the above example. The other options/variables are described in more detail in <a href="http://www.nowsms.com/sending-mms-messages-with-nowsms">http://www.nowsms.com/sending-mms-messages-with-nowsms</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.nowsms.com/send-mms-from-c-net/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Send MMS from VB.NET</title>
		<link>http://www.nowsms.com/send-mms-from-vb-net</link>
		<comments>http://www.nowsms.com/send-mms-from-vb-net#comments</comments>
		<pubDate>Thu, 09 Feb 2012 15:31:32 +0000</pubDate>
		<dc:creator>brett</dc:creator>
				<category><![CDATA[Support Blog]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[Sending MMS]]></category>
		<category><![CDATA[VB]]></category>

		<guid isPermaLink="false">http://www.nowsms.com/?p=13376</guid>
		<description><![CDATA[A VB.NET example for sending MMS messages via NowSMS has been posted at the following link: http://www.nowsms.com/download/sendmms.vb.txt For a C# .NET version of this example, please see the related article Send MMS from C# .NET. MMS examples for other environments (PHP, Java, command line) can be found at http://www.nowsms.com/sending-mms-messages-with-nowsms. As discussed in Sending MMS Messages with [...]]]></description>
				<content:encoded><![CDATA[<p>A VB.NET example for sending MMS messages via NowSMS has been posted at the following link:  <a href="http://www.nowsms.com/download/sendmms.vb.txt">http://www.nowsms.com/download/sendmms.vb.txt</a></p>
<p>For a C# .NET version of this example, please see the related article <a href="http://www.nowsms.com/send-mms-from-c-net">Send MMS from C# .NET</a>.</p>
<p>MMS examples for other environments (PHP, Java, command line) can be found at <a href="http://www.nowsms.com/sending-mms-messages-with-nowsms">http://www.nowsms.com/sending-mms-messages-with-nowsms</a>.</p>
<p>As discussed in <a href="http://www.nowsms.com/sending-mms-messages-with-nowsms">Sending MMS Messages with NowSMS</a>, one of the easiest ways to interface with NowSMS for sending MMS messages is to use what we refer to as the Proprietary URL Submission interface.  This interface is the one used for sending messages via the forms in the built-in NowSMS web interface.  Sending an MMS message via this interface is a matter of using an HTTP POST to submit MMS content in the form using the MIME type &#8220;multipart/form-data&#8221;.  This technique is often referred to as &#8220;HTTP File Upload&#8221; and is associated with web pages that have a &#8220;Browse&#8221; button that allows files to be uploaded.</p>
<p>There&#8217;s a great C#.NET HTTP File Upload library at: <a href="http://aspnetupload.com/Upload-File-POST-HttpWebRequest-WebClient-RFC-1867.aspx" target="_blank">http://aspnetupload.com/Upload-File-POST-HttpWebRequest-WebClient-RFC-1867.aspx</a></p>
<p>A direct link to download the library is here (only the UploadHelper component is needed): <a href="http://aspnetupload.com/AspNetUploadSamples.zip" target="_blank">http://aspnetupload.com/AspNetUploadSamples.zip</a></p>
<p>In the event that this link does not work in the future, we have archived a copy of the library at the following link:</p>
<p>&nbsp;<br />
<center></p>
<table border="1">
<tbody>
<tr>
<td><img src="http://cdn3.nowsms.com/discus/icons/mime_zip.gif" alt="application/x-zip-compressed" align="left" />AspNetUploadSamples.zip<br />
<a href="http://www.nowsms.com/discus/messages/485/AspNetUploadSamples-70812.zip" target="_blank"><strong>AspNetUploadSamples.zip</strong></a>(388.7 k)</td>
</tr>
</tbody>
</table>
<p></center></p>
<p>&nbsp;</p>
<p>The following VB.NET code example uses code from that library to send an MMS message:</p>
<p>(Note: This example can be downloaded at <a href="http://www.nowsms.com/download/sendmms.vb.txt">http://www.nowsms.com/download/sendmms.vb.txt</a>.)</p>
<pre style="line-height: 12px;">Imports System.Text
Imports System.IO
Imports System.Net
Imports System.Web
Imports System.Web.Services
Imports ClassLibrary1
Imports ClassLibrary1.Krystalware
Imports ClassLibrary1.Krystalware.UploadHelper
Imports ClassLibrary1.Krystalware.UploadHelper.HttpUploadHelper
Imports ClassLibrary1.Krystalware.UploadHelper.MimePart
Imports ClassLibrary1.Krystalware.UploadHelper.StreamMimePart
Imports ClassLibrary1.Krystalware.UploadHelper.StringMimePart
Imports ClassLibrary1.Krystalware.UploadHelper.UploadFile
Imports System.Collections.Specialized

Public Class Form1
    Public Sub SendMMS()
        ' Set the following variables as appropriate for your system. 
        ' URL that points to NowSMS web interface 
        Dim url As New Uri(" http://127.0.0.1:8800/ ")

        ' Valid username/password for account defined in NowSMS under "SMS Users". 
        Dim username As [String] = "testuser"
        Dim password As [String] = "testpass"

        ' Images &#038; Files to be included in the message. 
        ' First parameter is filename and path. 
        ' Second parameter must be MMSFILE 
        ' Third parameter should be MIME type 

        Dim files As UploadFile() = New UploadFile() {
         New UploadFile("c:\mms\tts.mp3", "MMSFILE", "audio/mpeg"),
         New UploadFile("c:\mms\image.png", "MMSFILE", "image/png")}

        ' Create additional form parameters for sending MMS 
        Dim form As New NameValueCollection()

        ' "PhoneNumber" variable contains recipient phone number 
        form("PhoneNumber") = "09059999999"
        ' "MMSFROM" variable contains sender phone number or address
        '  (Note: Ignored when sending via modem) 
        form("MMSFROM") = "09058888888"
        ' "MMSSUBJECT" variable contains subject line for message 
        form("MMSSUBJECT") = "test subject"
        ' "MMSTEXT" variable contains test to appear in message (optional) 
        form("MMSTEXT") = "this is a test message"

        ' Send the request to NowSMS, creating an HttpWebRequest and 
        ' then use HttpUploadHelper to send files in multipart/form-data format 
        Dim req As HttpWebRequest = DirectCast(WebRequest.Create(url), HttpWebRequest)

        Dim credCache = New CredentialCache()
        credCache.Add(url, "Basic", New NetworkCredential(username, password))
        req.Credentials = credCache

        Dim resp As HttpWebResponse = HttpUploadHelper.Upload(req, files, form)

        ' Read the HTTP response and echo to console 
        Using s As Stream = resp.GetResponseStream()
            Using sr As New StreamReader(s)
                Dim response As String = sr.ReadToEnd()
                MsgBox(response)
                System.Console.WriteLine(response)
            End Using
        End Using
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        SendMMS()
    End Sub
End Class</pre>
<p>&nbsp;</p>
<p>Additional MMS options can be included using the <b>form(&#8220;variablename&#8221;) = &#8220;value&#8221;</b> syntax shown in the above example. The other options/variables are described in more detail in <a href="http://www.nowsms.com/sending-mms-messages-with-nowsms">http://www.nowsms.com/sending-mms-messages-with-nowsms</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.nowsms.com/send-mms-from-vb-net/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>NowWAP: Enabling Cookies for HTTP Header Enrichment</title>
		<link>http://www.nowsms.com/nowwap-enabling-cookies-for-http-header-enrichment</link>
		<comments>http://www.nowsms.com/nowwap-enabling-cookies-for-http-header-enrichment#comments</comments>
		<pubDate>Wed, 19 Oct 2011 23:00:07 +0000</pubDate>
		<dc:creator>brett</dc:creator>
				<category><![CDATA[Support Blog]]></category>
		<category><![CDATA[HTTP Header Enrichment]]></category>
		<category><![CDATA[NowWAP]]></category>
		<category><![CDATA[WAP Gateway]]></category>
		<category><![CDATA[WAP Proxy]]></category>

		<guid isPermaLink="false">http://www.nowsms.com/?p=13334</guid>
		<description><![CDATA[NowWAP HTTP Header Enrichment (HHE) is described in more detail in the following article:  http://www.nowsms.com/nowwap-and-http-header-enrichment In addition to the HHE issues discussed in that article, we frequently receive questions about using HTTP Cookie headers for identifying the MSISDN. These questions are usually asked for the following reasons: Customers migrating from or augmenting an Ericsson MIEP [...]]]></description>
				<content:encoded><![CDATA[<p>NowWAP HTTP Header Enrichment (HHE) is described in more detail in the following article:  <a href="http://www.nowsms.com/nowwap-and-http-header-enrichment">http://www.nowsms.com/nowwap-and-http-header-enrichment</a></p>
<p>In addition to the HHE issues discussed in that article, we frequently receive questions about using HTTP Cookie headers for identifying the MSISDN.</p>
<p>These questions are usually asked for the following reasons:</p>
<ul>
<li>Customers migrating from or augmenting an Ericsson MIEP may have applications that expect to receive the MSISDN via HTTP Cookie headers.</li>
<li>The Opera Mini browser has a tendency to remove the X-MSISDN header that NowWAP would usually generate.</li>
</ul>
<p>For these reasons, recent versions of NowWAP (2011 and later), support a built-in option that can be used to automatically add an HTTP Cookie header for the MSISDN.</p>
<p>To enable this option, edit WAPGW.INI, and under the [WAPGW] header, add MsisdnCookieHeaders=Yes</p>
<p>When this option is set, NowWAP will generate an HTTP Cookie header for the MSISDN, in addition to the standard X-MSISDN header, when communicating with any content domains that are enabled for Basic HHE.</p>
<p>For compatibility purposes, NowWAP generates an HTTP Cookie Header using a format similar to those generated by the Ericsson MIEP:</p>
<p>Cookie: User-Identity-Forward-MSISDN=1234567890</p>
<p>If IMSI information is available via RADIUS, the IMSI will also be included in a User-Identity-Forward-IMSI cookie.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.nowsms.com/nowwap-enabling-cookies-for-http-header-enrichment/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>NowSMS Status Query with PHP</title>
		<link>http://www.nowsms.com/nowsms-status-query-with-php</link>
		<comments>http://www.nowsms.com/nowsms-status-query-with-php#comments</comments>
		<pubDate>Fri, 07 Oct 2011 07:14:10 +0000</pubDate>
		<dc:creator>brett</dc:creator>
				<category><![CDATA[Support Blog]]></category>
		<category><![CDATA[connection status]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[statistics]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://www.nowsms.com/?p=13297</guid>
		<description><![CDATA[Previous articles have described the XML-based status query interface that can be used to programmatically retrieve information about the current status of NowSMS. The XML-based status query interface that reports information similar to what is reported on the “Status” page of the NowSMS configuration dialog. The query results include information about SMSC connection status, the [...]]]></description>
				<content:encoded><![CDATA[<p>Previous articles have described the XML-based status query interface that can be used to programmatically retrieve information about the current status of NowSMS. The XML-based status query interface that reports information similar to what is reported on the “Status” page of the NowSMS configuration dialog. The query results include information about SMSC connection status, the number of messages processed via the different connections, and the number of messages pending in the queues, among other information.</p>
<p>This interface is described in more detail in the following article:</p>
<p><a href="http://www.nowsms.com/xml-status-query-for-smsc-connection-status-and-statistics">http://www.nowsms.com/xml-status-query-for-smsc-connection-status-and-statistics</a></p>
<p>An XML Schema Definition can be found in the following article:</p>
<p><a href="http://www.nowsms.com/xml-status-query-for-smsc-connection-status-and-statistics-2">http://www.nowsms.com/xml-status-query-for-smsc-connection-status-and-statistics-2</a></p>
<p>As we frequently receive questions asking how this status information can be accessed via a PHP script, this article will provide some simple examples.</p>
<p>The PHP SimpleXML functions are the easiest way to access and process this information.</p>
<p>In a discussion board posting (<a href="http://www.nowsms.com/discus/messages/1/60149.html">http://www.nowsms.com/discus/messages/1/60149.html</a>), we previously provided a simple example of a PHP script that queries the number of messages waiting in the NowSMS outbound SMS message queue.</p>
<p>The first step to access the data is to load the status URL into a SimpleXML object:</p>
<p><span class="Apple-style-span" style="font-family: Consolas, Monaco, monospace; font-size: 12px; line-height: 18px; white-space: pre;">&lt;?php</span></p>
<pre>$xmldata = file_get_contents
             ("http://127.0.0.1:8800/admin/xmlstatus?user=adminuser&amp;password=adminpass");</pre>
<pre>$xml = simplexml_load_string($xmldata);</pre>
<pre>?&gt;</pre>
<p>Substitute in your appropriate IP address and port, and the appropriate “adminuser” and “adminpass” values for your NowSMS installation.</p>
<p>To report the number of messages in the outbound SMS message queue, simply access the following variable:</p>
<p><span class="Apple-style-span" style="font-family: Consolas, Monaco, monospace; font-size: 12px; line-height: 18px; white-space: pre;">$xml-&gt;SMSOUTQ</span></p>
<p>To report the number of messages sent out today, or in the last 7 or last 30 days, use the following variables:</p>
<p><span class="Apple-style-span" style="font-family: Consolas, Monaco, monospace; font-size: 12px; line-height: 18px; white-space: pre;">$xml-&gt;SMSSent-&gt;MessagesToday<br />
$xml-&gt;SMSSent-&gt;MessagesLast7Days<br />
</span><span class="Apple-style-span" style="font-family: Consolas, Monaco, monospace; font-size: 12px; line-height: 18px; white-space: pre;">$xml-&gt;SMSSent-&gt;MessagesLast30Days</span></p>
<p>To report the number of active SMPP client connections, use the following variable:</p>
<p><span class="Apple-style-span" style="font-family: Consolas, Monaco, monospace; font-size: 12px; line-height: 18px; white-space: pre;">$xml-&gt;SMPPClientList-&gt;ActiveConnectionCount</span></p>
<p>Refer to the XML examples and schema referenced in the earlier links to see other status information that is available via this XML-based interface.</p>
<p>As an additional example, here is code that queries SMSC connection status and reports any connections that are experiencing connectivity problems:</p>
<p><span class="Apple-style-span" style="font-family: Consolas, Monaco, monospace; font-size: 12px; line-height: 18px; white-space: pre;">&lt;?php</span></p>
<pre>$xmldata = file_get_contents
            ("https://127.0.0.1:8801/admin/xmlstatus?user=adminuser&amp;password=adminpass");</pre>
<pre>$xml = simplexml_load_string($xmldata);</pre>
<pre>$allConnectionsOK = true;</pre>
<pre>foreach ($xml-&gt;SMSCStatus as $smscStatus) {</pre>
<pre>   if (strcasecmp ($smscStatus-&gt;Status, "OK")) {</pre>
<pre>      $allConnectionsOK = false;</pre>
<pre>      echo "Connection Error: " . $smscStatus-&gt;Name . " -- " . $smscStatus-&gt;StatusDetail . "\n";</pre>
<pre>   }</pre>
<pre>}</pre>
<pre>if ($allConnectionsOK) {</pre>
<pre>   echo "OK\n";</pre>
<pre>}</pre>
<pre>?&gt;</pre>
<p>For more information on using the SimpleXML functions, please refer to the PHP documentation at:   <a href="http://us.php.net/manual/en/book.simplexml.php">http://us.php.net/manual/en/book.simplexml.php</a></p>
<p>For more information on the NowSMS Status Query XML interface, please refer to the following articles:</p>
<ul>
<li><a href="http://www.nowsms.com/xml-status-query-for-smsc-connection-status-and-statistics">http://www.nowsms.com/xml-status-query-for-smsc-connection-status-and-statistics</a></li>
<li><a href="http://www.nowsms.com/xml-status-query-for-smsc-connection-status-and-statistics-2">http://www.nowsms.com/xml-status-query-for-smsc-connection-status-and-statistics-2</a></li>
</ul>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.nowsms.com/nowsms-status-query-with-php/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Repairing a Corrupt MMSC User Database</title>
		<link>http://www.nowsms.com/repairing-a-corrupt-mmsc-user-database</link>
		<comments>http://www.nowsms.com/repairing-a-corrupt-mmsc-user-database#comments</comments>
		<pubDate>Thu, 06 Oct 2011 07:17:59 +0000</pubDate>
		<dc:creator>brett</dc:creator>
				<category><![CDATA[Support Blog]]></category>
		<category><![CDATA[operator MMSC]]></category>

		<guid isPermaLink="false">http://www.nowsms.com/?p=13326</guid>
		<description><![CDATA[We recently had a customer whose MMSC stopped automatically provisioning new users. The MMSC user database had become corrupt, preventing new users from being able to be automatically provisioned.  While it is not known why this corruption occurred, the most common potential cause is an abnormal system shutdown, such as power failure. Future versions of [...]]]></description>
				<content:encoded><![CDATA[<p>We recently had a customer whose MMSC stopped <a href="http://www.nowsms.com/nowsms-operator-mmsc-considerations">automatically provisioning new users</a>.</p>
<p>The MMSC user database had become corrupt, preventing new users from being able to be automatically provisioned.  While it is not known why this corruption occurred, the most common potential cause is an abnormal system shutdown, such as power failure.</p>
<p>Future versions of the MMSC will include start-up logic to detect and repair corrupt MMSC user databases automatically.  However, the following instructions for manual repair may be helpful if someone else encounters this problem.</p>
<p>Copy the MMSCUSERS.DB file (normally located in \ProgramData\NowSMS) to another location. Also copy SQLITE3.EXE from the NowSMS program directory.</p>
<p>From a command line prompt, issue the following command:</p>
<pre>sqlite3 mmscusers.db</pre>
<p>This command  should bring you to an sqlite&gt; prompt.</p>
<p>Issue the following command:</p>
<pre>select name from sqlite_master where type='table';</pre>
<p>The system should respond back with:</p>
<pre>Users
sqlite&gt;</pre>
<p>Issue the following command:</p>
<pre>select count (*) from users;</pre>
<p>The system should report how many users are in the database.</p>
<p>Issue the following command:</p>
<pre>pragma integrity_check;</pre>
<p>If the database is corrupt, this command should return an error.  If there is no corruption problem, this command will return OK.</p>
<p>Use the .quit command to exit the sqlite3 utility.</p>
<p>To attempt to recover the database, issue the following command:</p>
<pre>sqlite3 mmscusers.db .dump &gt; mmscusers.txt</pre>
<p>mmscusers.txt will be a text file of SQL commands containing a database dump.</p>
<p>Inspect this text file to confirm that it has close to the number of users expected. If it does not, please contact NowSMS support for further analysis.</p>
<p>To create a new repaired database, issue the following command:</p>
<pre>sqlite3 mmscusersnew.db &lt; mmscusers.txt</pre>
<p>The repaired database will be named mmscusersnew.db. Rename to mmscusers.db and replace the original database in the NowSMS data directory. It is necessary to stop the NowSMS services in order to do this.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.nowsms.com/repairing-a-corrupt-mmsc-user-database/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>International Prefix Conversion for SMS</title>
		<link>http://www.nowsms.com/international-prefix-conversion-for-sms</link>
		<comments>http://www.nowsms.com/international-prefix-conversion-for-sms#comments</comments>
		<pubDate>Fri, 30 Sep 2011 17:00:54 +0000</pubDate>
		<dc:creator>brett</dc:creator>
				<category><![CDATA[Support Blog]]></category>
		<category><![CDATA[international SMS]]></category>
		<category><![CDATA[SMPP]]></category>
		<category><![CDATA[SMPP TON]]></category>

		<guid isPermaLink="false">http://www.nowsms.com/?p=13284</guid>
		<description><![CDATA[There are many situations where end users submit messages using local number formats, but the upstream SMSC connection requires that the message be submitted using an international format (e.g., include a country code and possibly require TON=1 for SMPP connections). For example, an end user in the UK might want to send an SMS message [...]]]></description>
				<content:encoded><![CDATA[<p>There are many situations where end users submit messages using local number formats, but the upstream SMSC connection requires that the message be submitted using an international format (e.g., include a country code and possibly require TON=1 for SMPP connections).</p>
<p>For example, an end user in the UK might want to send an SMS message to 0777777777 using the local number format, but the upstream SMSC connection requires a country code to be specified, such as +44777777777.</p>
<p>An end user in the US might sometimes prefix a number with 1, and other times not.</p>
<p>Starting with the 2011.10.18 release of NowSMS, there are configuration settings that can be used to perform these types of phone number prefix conversions globally or only for specific SMSC connections a per SMSC basis.</p>
<p>To configure a global option for prefix number conversion to apply to all SMS messages, edit the SMSGW.INI file and under the [SMSGW] section add one or both of the following settings:</p>
<p><b>GlobalRecipPrefixConvert</b>=???:???<br />
<b>GlobalSenderPrefixConvert</b>=???:???</p>
<p>These settings provide a global option for prefix number conversion to apply to all SMS messages (for SMSC specific options search PrefixConvert in the SMSC specific section of SMSGW.INI). These settings apply to sender (source) and recipient (destination) addresses, as denoted in the settings name. Prefix conversions can be a comma delimited list, such as 00:+,0:+44 In this case, 0044777777777 is converted to +44777777777, and 0777777777 would be converted to +44777777777. This conversion is applied as messages are submitted.</p>
<p>To apply these conversions only for a specific SMSC connection, in the SMSC specific section of SMSGW.INI (e.g., [Modem - modem driver name] or [SMPP - server:port]) the following settings are now supported to apply number prefix conversions for inbound or outbound messages:</p>
<p><b>OutRecipPrefixConvert</b>=???:???<br />
<b>OutSenderPrefixConvert</b>=???:???<br />
<b>InRecipPrefixConvert</b>=???:???<br />
<b>InSenderPrefixConvert</b>=???:???</p>
<p>These settings provide support for prefix number conversion when submitting SMS messages to an SMSC connection, in order to deal with situations where a particular provider requires national or international number format. These settings apply to sender (source) and recipient (destination) addresses, as denoted in the settings name. Prefix conversions can be a comma delimited list, such as 00:+,0:+44 In this case, 0044777777777 is converted to +44777777777, and 0777777777 would be converted to +44777777777. For outbound messages, the conversion occurs before the message is submitted via this SMSC connection. For inbound messages, it is applied as the message is received from the SMSC connection.</p>
<p>In most cases, you would be applying conversions for the recipient phone number.</p>
<p>For example, a conversion that assumes UK local numbers being converted to international format would use one of the following examples (the first example is applied globally, the second only for a specific SMSC connection):</p>
<p>[SMSGW]<br />
GlobalRecipPrefixConvert=00:+,0:+44</p>
<p>[SMPP - server:port]<br />
OutRecipPrefixConvert=00:+,0:+44</p>
<p>With the above setting, 0044777777777 would be converted to +44777777777, and 0777777777 would be converted to +44777777777.</p>
<p>If the connection is an SMPP connection, the &#8220;+&#8221; is not actually included in the recipient address, but instead NowSMS uses this as a signal to indicate that the recipient TON (dest_addr_ton) value should be set to 1 to indicate an international number.</p>
<p>A similar conversion for USA local numbers would look like this (the first example is applied globally, the second only for a specific SMSC connection):</p>
<p>[SMSGW]<br />
GlobalRecipPrefixConvert=011:+,1:+1,2:+12,3:+13,4:+14,5:+15,6:+16,7:+17,8:+18,9:+19</p>
<p>[SMPP - server:port]<br />
OutRecipPrefixConvert=011:+,1:+1,2:+12,3:+13,4:+14,5:+15,6:+16,7:+17,8:+18,9:+19</p>
<p>With the above setting, 01144777777777 <em>(011 being an old style prefix for an international phone number)</em> would be converted to +44777777777.</p>
<p>15555551212 would be converted to +15555551212.</p>
<p>5555551212 would be converted to +15555551212.</p>
<p>&nbsp;</p>
<p>For more complex and custom conversions of source/sender and destination/recipient addresses, it is also possible to apply dynamic conversions via accounting callbacks. Every time NowSMS routes a message, it can be configured to pass message details to an HTTP-based callback. This callback can be configured to have the ability to dynamically make changes to source and destination addresses. For more information on this capability, see <a href="http://www.nowsms.com/dynamic-sms-message-routing-with-http-callbacks" target="_blank">Dynamic SMS Message Routing with HTTP Callbacks</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.nowsms.com/international-prefix-conversion-for-sms/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Multiple SMPP Connections to One SMSC</title>
		<link>http://www.nowsms.com/multiple-smpp-connections-to-one-smsc</link>
		<comments>http://www.nowsms.com/multiple-smpp-connections-to-one-smsc#comments</comments>
		<pubDate>Fri, 23 Sep 2011 09:32:57 +0000</pubDate>
		<dc:creator>brett</dc:creator>
				<category><![CDATA[Support Blog]]></category>
		<category><![CDATA[SMPP]]></category>

		<guid isPermaLink="false">http://www.nowsms.com/?p=1535</guid>
		<description><![CDATA[Although it is possible for SMPP Asynchronous connections to process hundreds of SMS messages per second, sometimes there are performance gains by having more than one SMPP connection to the same SMSC.  This is especially the case if the SMSC has per connection speed limits, or other performance limiting characteristics. It may also be necessary to specify [...]]]></description>
				<content:encoded><![CDATA[<p>Although it is possible for <a href="http://www.nowsms.com/smpp-async-mode">SMPP Asynchronous connections</a> to process hundreds of SMS messages per second, sometimes there are performance gains by having more than one SMPP connection to the same SMSC.  This is especially the case if the SMSC has per connection speed limits, or other performance limiting characteristics.</p>
<p>It may also be necessary to specify more than one SMPP connection to the same SMSC in order to process messages for more than one short code.  In this latter case, you may need to specify different credentials for each SMPP connection.  In this case, simply add a second (or third, or fourth&#8230;) SMPP connection, specifying the same server address.  When NowSMS adds the connection to the SMSC list, it will automatically append &#8220;#2&#8243; (or #3, or &#8220;#4&#8243;) to the SMSC address in order to maintain separate settings for each connection.</p>
<p>However, if you are connecting to the same SMSC multiple times using the same account credentials, it can be inconvenient to define the same connection multiple times.  For this reason, NowSMS 2011.07.05 and later releases (see <a href="http://www.nowsms.com/category/updates">http://www.nowsms.com/category/updates</a>) provide a configuration interface to define the number of transmitter, receiver and/or transceiver connections to be allocated for a single SMPP connection, without requiring multiple duplicate connections to be defined.</p>
<p><a href="http://images.nowsms.com/2010/11/smppmultiplesessions.png"><img class="alignright size-full wp-image-13293" title="smppmultiplesessions" src="http://images.nowsms.com/2010/11/smppmultiplesessions.png" alt="Configure Multiple SMPP Sessions" width="361" height="552" /></a>To configure these settings, edit the &#8220;Properties&#8221; of an SMPP connection, and in the &#8220;Advanced Settings&#8221; menu, the following settings are available:</p>
<p>If <strong>&#8220;Send and Receive Messages over the same Connection (SMPP Transceiver)&#8221;</strong> is enabled, specify the number of concurrent SMPP Transceiver sessions that NowSMS should establish.  (Transceiver sessions support both sending and receiving messages over the same connection/session.)</p>
<p>If this transceiver mode is not enabled, the number of Transmitter and Reciever Sessions can be configured independently.</p>
<p>These settings can also be manually configured by editing SMSGW.INI.</p>
<p>In the <strong>[SMPP - server:port]</strong> section of <strong>SMSGW.INI</strong>, the following settings are used:</p>
<p><strong> TransmitterCount</strong>=##<br />
<strong>ReceiverCount</strong>=##</p>
<p><strong>TransmitterCount</strong>=## defines the number of transmitter connections to be established. If transceiver mode is configured, <strong>TransmitterCount</strong> specifies the number of transceiver connections to be established. If transceiver mode is not configured, <strong>ReceiverCount</strong> specifies the number of receiver connections to be established.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.nowsms.com/multiple-smpp-connections-to-one-smsc/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>NowSMS Update Release 2011.07.05</title>
		<link>http://www.nowsms.com/nowsms-update</link>
		<comments>http://www.nowsms.com/nowsms-update#comments</comments>
		<pubDate>Tue, 12 Jul 2011 21:18:57 +0000</pubDate>
		<dc:creator>brett</dc:creator>
				<category><![CDATA[Software Updates]]></category>
		<category><![CDATA[Support Blog]]></category>
		<category><![CDATA[update]]></category>

		<guid isPermaLink="false">http://www.nowsms.com/?p=13271</guid>
		<description><![CDATA[An updated release of the Now SMS &#38; MMS Gateway is currently available at http://www.nowsms.com/download/nowsms20110705.zip.  Use the executable file in this ZIP to update an existing NowSMS installation. This document details the update release history since the previous official release, version 2010.11.04.  Release history for the changes prior to the current official release can be found [...]]]></description>
				<content:encoded><![CDATA[<p>An updated release of the Now SMS &amp; MMS Gateway is currently available at <a href="http://www.nowsms.com/download/nowsms20110705.zip">http://www.nowsms.com/download/nowsms20110705.zip</a>.  Use the executable file in this ZIP to update an existing NowSMS installation.</p>
<p>This document details the update release history since the previous official release, version 2010.11.04.  Release history for the changes prior to the current official release can be found at  <a href="http://www.nowsms.com/category/updates">http://www.nowsms.com/category/updates</a>.</p>
<p><strong>Customers running any earlier 2011 interim release of NowSMS are strongly encouraged to update to this release due to a number of problems that exist in earlier 2011 interim releases.</strong> <em>(If upgrading is not possible, as a  precaution delete the file NLS.INI if it exists in the Program Files\NowSMS directory, which will disable SMS shift table support that was introduced earlier this year.  Note that this recommendation applies only to NowSMS 2011 releases prior to 2011.07.05.  Do not delete this file if running NowSMS 2011.07.05 or later.)</em></p>
<p>Highlights of this update:</p>
<p>1.) Configuration changes no longer require a NowSMS service restart.  The NowSMS service will activate configuration changes without requiring a full service restart.</p>
<p>2.) Updated web interface templates (we know &#8230; the old ones were perfectly functional, but yes, they were a throwback to web 1.0, or possibly web 0.5).</p>
<p>3.) Increased administrative capabilities from the web browser.  In addition to statistics and log files, it is possible to view alerts, recent activity, inbound and outbound messages.  It is also possible to add and update user accounts.</p>
<p>4.) Easier configuration of logical SMSC Route Names (as compared to server addresses in earlier releases).</p>
<p>5.) SMS Shift Table Support (of interest primarily for those working with Turkish and Portuguese languages, as well as for handset developers/testers working to add support for SMS shift tables in languages of the Indian subcontinent).  For more information, see <a href="http://www.nowsms.com/tag/sms-shift-table">http://www.nowsms.com/tag/sms-shift-table</a>.</p>
<p>6.) SMPP connections can define multiple transmitter and/or receiver sessions.</p>
<p>7.) SMPP relay improvements &#8211; Support for absolute format validity_period settings, support for additional values in message_state TLV parameters.  Also accounting callbacks can now have the capability to modify TLV parameters, as well as source and destination addresses.</p>
<p>8.) MM4 &#8211; Addressed an issue with missing originator/From fields for messages from a particular operator.</p>
<p>9.) E-mail alert improvements (can use SMTP authentication and SSL/TLS to send out via an account).</p>
<p>10.) Numerous accounting callback enhancements (more detailed information can be found in the release notes).</p>
<p>11.) Local PHP script support.  NowSMS can now host PHP scripts directly, so that you do not need to configure an external web server for hosting 2-way commands or accounting callbacks.  For more information, see <a href="http://www.nowsms.com/now-sms-native-php-scripts">http://www.nowsms.com/now-sms-native-php-scripts</a>.</p>
<p>12.) SMPP &#8211; Improved handling of throttling errors especially as an effort to keep multiple parts of a segmented message from being separated.</p>
<p>There are numerous other minor updates that are detailed in the release history information below.  The release history information provides additional information on configuration settings that have been added to address unusual configuration requirements.<img title="More..." src="http://cdn2.nowsms.com/wp-includes/js/tinymce/plugins/wordpress/img/trans.gif" alt="" /></p>
<p><span id="more-13271"></span></p>
<p><strong>2011-07-05:</strong></p>
<ul>
<li><strong>SMS Gateway</strong>:  SMS accounting callbacks can now be used to route messages to an external SMSC account, or to a local user account.  When the &#8220;SMSSend&#8221; accounting callback is issued, it is possible for the callback to return SMSCRoute=routename in the HTTP response to specify an external route via which the message should be routed, or SMSCRoute=localuser:username to route the message to a local user account.</li>
<li><strong>SMPP</strong>:  message_state TLV parameter is now set according to the text of the delivery receipt.  Previously a value of 5 (undeliverable) was used for all undeliverable status conditions.  Most notable, a value of 3 is now correctly used for messages that were marked expired.</li>
<li><strong>Web Interface</strong>:  Update &#8220;Send Text Message&#8221; HTML form to address issue where Chrome and Firefox count a line break as one character, but when posting the message, post two characters instead.  (Counter now counts two characters for a line break, assuming the browser will post two characters.)  IE counts two characters and posts two characters.</li>
<li><strong>SMS Gateway:</strong> Add support for prefix number conversion when submitting SMS messages to an SMSC connection in order to deal with situations where a particular provider requires national or international number format.  In the SMSC specific section of SMSGW.INI (e.g., [Modem - modem driver name] or [SMPP - server:port]) the following settings are now supported to apply number prefix conversions for inbound or outbound messages:  OutRecipPrefixConvert, OutSenderPrefixConvert, InRecipPrefixConvert, InSenderPrefixConvert.  These settings apply to sender (source) and recipient (destination) addresses, as denoted in the settings name.  Prefix conversions can be a comma delimited list, such as 00:+,0:+44   In this case, 0044777777777 is converted to +44777777777, and 0777777777 would be converted to +44777777777.  For outbound messages, the conversion occurs before the message is submitted via this SMSC connection.  For inbound messages, it is applied as the message is received from the SMSC connection.</li>
<li><strong>2-way SMS</strong>:  Add support for @@SMSCROUTEID@@ replaceable parameter to contain the unique route name identifier (e.g., &#8220;Modem &#8211; Driver Name&#8221; or &#8220;SMPP &#8211; host:port&#8221;).  If the same route name is assigned to multiple connections, the route name is used for @@SMSCROUTE@@.  @@SMSCROUTEID@@ allows distinction of which connection the message was received form.</li>
<li><strong>SMS Gateway</strong>:  Add SMSGW.INI [SMSGW] setting, UserOutboundQueueLimitInterval=## to specify the delay interval between user queue size scans when the UserOutboundQueueLimit=## setting is used.</li>
<li><strong>SMS Gateway</strong>:  Fix for exception errors related to improper decoding of some messages that make use of a single shift table.</li>
</ul>
<p><strong>2011-06-20:</strong></p>
<ul>
<li><strong>SMPP</strong>:  Absolute format validity_period setting is now supported from SMPP clients.  HTTP clients can also use the &#8220;&amp;Validity=&#8221; parameter to submit a validity_period setting in SMPP format.  (SMPP format validity period will only be forwarded to upstream SMPP connections.</li>
<li><strong>MMSC</strong>:  MmsMessageSizeLimit=#### (value in KB) setting in MMSC.INI now also applies to MM7 and MM4 submissions.</li>
<li><strong>MMSC</strong>:  Handle situation where the HTTP POST from an MM7 client includes a host name in the POST URL.  Normally the POST URL in the HTTP request only includes a host name in the URL if the submission is being routed via an HTTP Proxy.  MMSC already handles this case for MM1 submissions, but not for MM7 submissions until this release.  (According to HTTP 1.1 specification, servers must accept this format, but client should not generate this format unless posting via an HTTP proxy.)</li>
</ul>
<p><strong>2011-06-15:</strong></p>
<ul>
<li><strong>2-way SMS</strong>:  Additional fix for restarts associated with a bug introduced in 2011.05.23 version for 2-way SMS messages that include SMPPOptions parameters.</li>
</ul>
<p><strong>2011-06-09:</strong></p>
<ul>
<li><strong>SMS Gateway</strong>:  Fix for a resource leak that can be caused by inbound SSL connnections (HTTP or SMPP) that do not complete the SSL handshake.</li>
</ul>
<p><strong>2011-06-08:</strong></p>
<ul>
<li><strong>2-way SMS</strong>:  Fix for restarts associated with a bug introduced in 2011.05.23 version for 2-way SMS messages that include SMPPOptions parameters.</li>
</ul>
<p><strong>2011-06-06:</strong></p>
<ul>
<li><strong>MM4</strong>:  Fix for a problem where messages received from a particular operator had a missing originator/From field.  This was caused by unexpected horizontal tab characters being included in the SMTP &#8220;From:&#8221; header.  According to the SMTP specification, these horizontal tab characters are legal, and NowSMS needs to ignore them.</li>
</ul>
<p><strong>2011-06-03:</strong></p>
<ul>
<li><strong>SMS Gateway</strong> Startup:  Move most database integrity checks to a background thread so as to not delay startup.</li>
<li><strong>2-way SMS</strong> commands with mailto: links:  Support routing e-mail non-delivery messages back to sender if message undeliverable.</li>
</ul>
<p><strong>2011-06-02:</strong></p>
<ul>
<li><strong>SMS Gateway</strong>:  Fix for 2011-05-23 interface reporting errors with the SMPP server if an SSL port number for SMPP is not defined.</li>
<li><strong>SMS Gateway</strong>:  Route names are now supported in the configuration interface to make it easier to work with SMSC connections.  &#8220;SMSOUT&#8221; and &#8220;SMSIN&#8221; accounting callbacks now include &#8220;&amp;SMSCRouteName=&#8221; parameter.</li>
<li><strong>SMS Gateway</strong>:   Fix for problem where server would not take extra time to shutdown if HTTP SSL connections are supported.</li>
</ul>
<p><strong>2011-05-23:</strong></p>
<ul>
<li><strong>SMS Gateway Web interface</strong>:  Update NowSMS web user interface templates.</li>
<li><strong>SMS Gateway</strong>:  Web Administration Access is now associated as an attribute to an &#8220;SMS Users&#8221; account, instead of being a separate login identity.</li>
<li><strong>SMS Gateway</strong>:  E-Mail alerts can now specify to be sent via a mail server that requires with SMTP Authentication &amp; SSL/TLS.</li>
<li><strong>SMPP</strong>:  Configuration program supports defining the number of simultaneous transmitter and/or receiver sessions to be associated with an SMPP SMSC connection.</li>
<li><strong>HTTP SMSC</strong>:  Configuration program supports defining the number of simultaneous HTTP transmitter sessions to be associated with an HTTP SMSC connection.</li>
<li><strong>SMPP</strong>:  Seldom used configuration parameters for specifying the local TCP port that the SMPP client should bind to have been removed from the configuration program interface.  These parameters continue to be supported by manual configuration file entries under the [SMPP - server:port] section header of SMSGW.INI:  SenderPort=#### specifies the local TCP port to be used for the transmitter or transceiver session, and ReceiverPort=#### specifies the local TCP port to be used for the receiver session.</li>
<li><strong>SMPP</strong>:  Fix for [SMPP] / DeliveryReceiptFlag=Yes not working properly.  (Only worked properly if set as [SMPP] / DeliveryReceiptFlag=1)</li>
<li><strong>SMS Gateway</strong>:  Fix for SMS service restarts/exception errors that could be triggered by updating the SMSGW.INI file.   (Problem was introduced in 2011.03.15 update.)</li>
<li><strong>SMS Gateway</strong>: Fix for service restarts that could occur when using the web administrative interface.</li>
<li><strong>SMS Gateway &amp; MMSC</strong>:  Various configuration restarts no longer require a service restart.  (SMSC connections can be added/deleted/modified without requiring a restart.  Configuration changes will take effect within within approximately 60 seconds.)</li>
<li><strong>Accounting callbacks</strong> now have the ability to change sender/recipient values (useful for source address translation when routing messages), and the ability to modify service type, validity and defined SMPP TLV parameters.  This capability is enabled in the &#8220;SMSSend&#8221; and &#8220;SMSIN&#8221; accounting callbacks when SMSAccountingAllowChanges=Yes is defined in the [SMSGW] section of SMSGW.INI. When this setting is present, NowSMS will parse the HTTP response for &#8220;SMSSend&#8221; and &#8220;SMSIN&#8221; accounting callbacks looking for &#8220;To=&#8221;, &#8220;Sender=&#8221;, &#8220;ServiceType=&#8221;, &#8220;Validity=&#8221; and &#8220;SMPPOption_xxxx=&#8221; settings.  If any of these text strings are present, the value that follows will be used to replace the existing value. (In the case of SMPPOption_xxxx=, a blank value will completely remove the parameter.)  It is recommended that the HTTP response terminate the value with a new line to act as an end of value string delimiter.</li>
<li><strong>SMPP</strong>:  TLV parameters defined in GSM Assocation IR.75 are automatically supported by default using the HexString encoding:  SMPPOption_source_subaddress (0&#215;202) and SMPPOption_dest_subaddress (0&#215;203).  For more information, refer to http://www.nowsms.com/smpp-tlv-parameters-for-advanced-message-routing</li>
<li><strong>Retrieving SMS messages via POP3</strong>:  Fix for carriage return/line feed in an SMS message appearing as \r\n when converted to e-mail format.  Also add sender phone number to subject line of message.</li>
<li><strong>SMPP Client</strong>:  Previously NowSMS tracked upstream SMPP message IDs only if the client asked for a delivery report (or non-delivery report).  However, many SMPP servers always return delivery reports, which can cause confusion, because if NowSMS did not track the upstream message ID, it will not know how to route it or resolve the message ID.  NowSMS now always tracks the upstream SMPP message ID, unless TrackSMPPReceiptsAlways=No is set under the [SMSGW] header of SMSGW.INI.</li>
<li><strong>MMSC</strong>:  Include &#8220;MMSStatus=&#8221; in &#8220;MMSDeliveryReport&#8221; callbacks.   Status values are extracted from the MMS specifications.  Possible values include &#8220;Retrieved&#8221; (success), &#8220;Expired&#8221;, &#8220;Rejected&#8221;, &#8220;Deferred&#8221;, Unrecognised&#8221;, &#8220;Indeterminated&#8221;, &#8220;Forwarded&#8221;, &#8220;Unreachable&#8221; and &#8220;Unknown&#8221;.</li>
<li><strong>MMS Proprietary URL Submission</strong>:  Include &#8220;MMSMessageID=&#8221; parameter in accounting callback for MMS message submissions via this interface.</li>
<li><strong>MMSC</strong>:  Reduce DNS query timeouts that can backlog the processing of MM4 acknowledgments, especially when the &#8220;MM4 Ack Route&#8221; has not been set for a connection.</li>
<li><strong>MMSC</strong>:  Fix for bug receiving MMS messages via MM4 which included filenames that have a &#8220;?&#8221; character in the filename.</li>
<li><strong>E-Mail to SMS</strong>:  When routing e-mail to SMS, a new configuration option supports tracking the e-mail sender address, so that an SMS reply can be routed back to the original e-mail sender.  Note that when this tracking option is enabled, if multiple e-mail senders send to the same SMS phone recipient, NowSMS cannot distinguish which e-mail address should receive the reply, and the reply will be directed to the most recent e-mail sender.  To enable this tracking, add SMSEMailTrackSender=Yes to the [MMSC] section of MMSC.INI.  If it is possible for NowSMS to send/receive SMS using multiple SMS numbers, NowSMS can use the multiple SMS numbers to improve tracking if multiple e-mail addresses send to the same SMS recipient.  To define the SMS sender numbers to be used for e-mail to SMS, add SMSEMailSender= to the [MMSC] section of MMSC.INI.  SMSEMailSender supports a comma delimited list of sender numbers, and also supports ranges of sender numbers such as 800001-800100 to allocate a sequential range of numbers.</li>
<li><strong>SMS Gateway</strong>:  Additional subdirectories created to prevent situations where a large SMS-IN queue makes the system unstable.</li>
<li><strong>SMS Gateway:</strong> NowSMS can now host PHP scripts locally (accounting callbacks, 2-way commands) without requiring an external web server.  Further information and details are avaialble at http://www.nowsms.com/now-sms-native-php-scripts</li>
</ul>
<p><strong>2011-04-19:</strong></p>
<ul>
<li><strong>SMS Gateway</strong>:  Add configuration parameter to allow customisation of the maximum message length for automatic message segmentation to allow for smaller segments that may be necessary in some environments.  These settings can be configured under the [SMSGW] section header of SMSGW.INI, using the following parameters:  MaxSMSSegmentLengthText=160 and MaxSMSSegmentLengthBinary=140</li>
<li><strong>2-Way SMS</strong>:  Previously NowSMS would only retry a 2-way SMS command if the connection to the web server failed or a timeout error occurred.  It would not retry the command if the web server returned an HTTP error (such as 500 Internal Error), and would simply rename the message file to have a .BAD extension.  This version changes the behaviour to perform retries with progressive delays, similar to the processing of outbound SMS messages.  By default, NowSMS uses the same retry parameters as described at http://www.nowsms.com/sms-retry-error-handling-with-ucpemi-and-cimd.  To define retry parameters specific to 2-way SMS processing, place them under a [2Way] section header in SMSGW.INI, instead of under the [SMSGW] section.   If a server hosting a 2-way command is down and is not accepting connections or not returning a valid HTTP response, NowSMS continues to retry the 2-way command indefinitely, but it does introduce a progressive delay for these retries.</li>
<li><strong>MMSC</strong>: Performance optimisation for configuration front end open and displaying statistics, particularly on a multiple server installation, where if the configuration program were open simultaneously on multiple servers, it would become sluggish or unresponsive until other copies were closed.</li>
<li><strong>2-Way MMS</strong>:  Add configuration option to simplify processing received MMS messages so that they can be posted to a PHP script via HTTP.  Previously, it was necessary to create an &#8220;MMSC Routing&#8221; definition to point to a PHP script.  That mechanism is still supported, but it is also possible to now define a 2-way MMS POST URL on the &#8220;2-way&#8221; page of the configuration.  The URL defined on this page will process any received MMS messages that get posted to the MMS-IN directory.  The format of the POST uses the PHP format described at http://www.nowsms.com/doc/2-way-mms-support/receiving-mms-messages-with-a-php-script</li>
</ul>
<p><strong>2011-04-11:</strong></p>
<ul>
<li><strong>Configuration Program</strong>:  Update font selection for configuration program to address issues where some installations were seeing text that was too large to display in the window.</li>
<li><strong>SMS Gateway</strong>:  Fix for problem that could occur if an automated program submitting messages via HTTP uses multiple user accounts over a single HTTP connection.  If some user accounts have &#8220;forced sender address&#8221; configured, and some do not, the &#8220;forced sender address&#8221; from a previously accessed account would be applied to submissions from an account with no &#8220;forced sender address&#8221; setting.  Note that this could only occur if a program was submitting over a single HTTP connection using multiple user accounts for different message submissions.</li>
</ul>
<p><strong>2011-03-21:</strong></p>
<ul>
<li><strong>SMS Gateway</strong>:  Fix for web interface not working properly with Firefox.  (Problem introduced with late 2010 update to enable keep alive sockets.)</li>
</ul>
<p><strong>2011-03-18:</strong></p>
<ul>
<li><strong>MMSC</strong>: Fix for problem in a multiple server installation (SHAREDVOLUME.INI) where only one front-end would actively listen for connections for MMS messages converted to SMS.  (Fix was attempted in 2011-03-15 version, but did not completely fix the problem.)</li>
</ul>
<p><strong>2011-03-15:</strong></p>
<ul>
<li><strong>SMS Gateway</strong>:  Add configuration setting to limit individual user accounts from flooding the outbound message queue.  This setting enforces a maximum number of queued messages that any individual user account can have pending in the outbound message queue.  If a user attempts to submit additional messages when over the limit, a throttling error will be returned.  To enable this throttling, the setting UserOutboundQueueLimit=##### must be added to the [SMSGW] section of SMSGW.INI.  The ##### value sets a default maximum outbound message queue size to be applied to all user accounts.  (A special value of 0 means no limit, but enables non-default settings to be applied to individual user accounts.)  To override the default setting for individual user accounts, create an [UserOutboundQueueLimit] section, and add username=##### to this section to enable a limit for a specific user account.  (A value of 0 will disable limits for that user account.)  Note that queue size monitoring experiences a 30 to 60 second delay, so it is possible that users may slightly exceed configured limits.  Also note that for SMPP accounts, care is taken to ensure that a throttling error does not occur in the middle of a multipart message transmission.</li>
<li><strong>SMS Gateway</strong>:  Improved handling of &#8220;User Queue Size Threshold&#8221; to prevent problems where SMPP user accounts could be allocated multiple queue directories, giving extra priority to that account.</li>
<li><strong>SMS Gateway</strong>:  The SMSGW.INI SMSCSendLimit=x/y setting, which can limit the speed at which messages are sent via a specific SMSC connection, was not functioning accurately at higher speeds.  The setting has been reworked to support throttling at higher speeds.</li>
<li><strong>SMS Gateway</strong>:  Fix for changes to the [Inbound SMS Routing] table (used for routing received messages to local user accounts based upon recipient address matching) not automatically being reloaded by the server without a restart.</li>
<li><strong>2-Way SMS Command Processor</strong>:  Fix for a problem where a message with invalid UDH could be posted repeatedly to a 2-way command.  The problem could occur if the user data header indicated a multipart message where the current part number was larger than the number of indicated message parts.</li>
</ul>
<p><strong>2011-02-16:</strong></p>
<ul>
<li><strong>SMS Gateway</strong>:  Add configuration option to duplicate SMPP receipts being routed to a local SMPP user account, so that they are also routed to 2-way command processing.  This setting would be used when an installation needs to process all delivery receipts via a 2-way command.  To enable this option, edit SMSGW.INI, and under the [SMSGW] header, add DuplicateUserReceiptsFor2Way=Yes.</li>
</ul>
<p><strong>2011-01-14:</strong></p>
<ul>
<li><strong>SMPP Server</strong>:  Fix for a change first introduced in 2010-05-20 version which could cause extra null messages to be delivered to connected SMPP clients.  This problem could only potentially occur if a client had multiple receive (or transceive) connections open to the NowSMS SMPP server.</li>
<li><strong>MMSC</strong>:  Change MM7 transaction ID format to not include @ character, due to suspcion that this was causing a problem for a particular provider.</li>
</ul>
<p><strong>2010-12-21:</strong></p>
<ul>
<li><strong>MM7</strong>:  When AllowAlphaRecip=Yes is enabled, use &lt;Number&gt; instead of &lt;ShortCode&gt; for the recipient address type, even if it is not a number.</li>
<li><strong>Configuration program</strong> opens LOG files using the default program for the .LOG extension instead of always using Notepad.</li>
</ul>
<p><strong>2010-12-14:</strong></p>
<ul>
<li><strong>MMS via GPRS Modem</strong>:  Fix for problem introduced in 2010.11.04 version where MMS messages would not be retrieved from some operator MMSCs, particularly T-Mobile USA.</li>
</ul>
<p><strong>2010-12-07:</strong></p>
<ul>
<li><strong>Web Interface</strong>:  Fix for problem sending pre-compiled MMS messages via the &#8220;Send MMS Message&#8221; web interface that could cause these messages to become corrupted.</li>
<li><strong>SMS Gateway/SMPP Client</strong>:  When a throttling error occurs, additional logic requeues the message that triggered the error so that several retries will be attempted without requiring a pass through the entire message queue before the message is retried.  This is necessary for proper handling of multipart segmented messages, so that if one part of the message encounters a throttling error, it can still be transmitted within the same window as other parts of the message when the outbound message queue is very full.</li>
<li><strong>MM7</strong>:  Don&#8217;t add extra CRLF before closing MIME boundary as this might be confusing some Java libraries.</li>
</ul>
<p><strong>2010-11-26:</strong></p>
<ul>
<li><strong>MMSC</strong>:  Fix for problem where the message ID in a delivery receipt was not formatted correctly (&#8220;/&#8221; characters changed to &#8220;.&#8221;) for delivery receipts that arrived via an MM4 connection.  This prevented sending clients from being able to correctly resolve delivery receipts.</li>
<li><strong>SMS Gateway</strong>:  Fix for web admin interface only sending the first 16KB when attempting to remotely download log files.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.nowsms.com/nowsms-update/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SMS Distribution Lists with PHP</title>
		<link>http://www.nowsms.com/sms-distribution-lists-with-php</link>
		<comments>http://www.nowsms.com/sms-distribution-lists-with-php#comments</comments>
		<pubDate>Mon, 16 May 2011 21:16:18 +0000</pubDate>
		<dc:creator>brett</dc:creator>
				<category><![CDATA[Support Blog]]></category>
		<category><![CDATA[distribution lists]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.nowsms.com/?p=13208</guid>
		<description><![CDATA[An earlier post described the HTTP URL formats for working with NowSMS distribution lists. This post provides some example PHP functions that can be used to simplify this process.  Now that NowSMS can support PHP scripts natively without a separate web server, it is even easier to prototype SMS applications with NowSMS. In this example, [...]]]></description>
				<content:encoded><![CDATA[<p>An earlier post described the <a href="http://www.nowsms.com/editing-distribution-lists-and-address-books-in-nowsms">HTTP URL formats for working with NowSMS distribution lists</a>.</p>
<p>This post provides some example PHP functions that can be used to simplify this process.  Now that <a href="http://www.nowsms.com/now-sms-native-php-scripts">NowSMS can support PHP scripts natively without a separate web server</a>, it is even easier to prototype SMS applications with NowSMS.</p>
<p>In this example, we&#8217;ll use these example PHP functions to allow users to send an SMS message to the NowSMS server to add or remove themselves from a distribution list, and allow any member of a distribution list to send a message that is broadcast to all distribution list members.</p>
<p>This is intended as an example only, and a starting point for adding further logic.</p>
<p><a href="http://www.nowsms.com/examples/nowsmsdlist-php.txt">nowsmsdlist.php</a> is a PHP include file that contains functions for working with NowSMS distribution lists.  This file can be downloaded at the following link:  <a href="http://www.nowsms.com/examples/nowsmsdlist-php.txt">http://www.nowsms.com/examples/nowsmsdlist-php.txt</a>.</p>
<p>The following function are defined in nowsmsdlist.php:</p>
<div>
<pre class="notranslate" style="font-size: 9px; line-height: 9px; margin-bottom: 0;">&lt;?php
// NowSMSDListExists - Returns true if distribution list exists, otherwise false.
// Parameters:
//  $nowsmsIP - IP Address or host name of NowSMS server (127.0.0.1 for local host)
//  $nowsmsPort - Web interface port number of NowSMS server (8800 for default configuration)
//  $nowsmsUser &amp; $nowsmsPassword - user name and password for account defined under "SMS Users"
//  $dlistName - Distribution list name

function NowSMSDListExists ($nowsmsIP, $nowsmsPort, $nowsmsUser, $nowsmsPassword, $dlistName) {

   $urlString = "http://" . $nowsmsIP . ":" . $nowsmsPort . "/DLists?";
   if (!is_null($nowsmsUser) &amp;&amp; ($nowsmsUser != "")) {
      $urlString = $urlString . "User=" . urlencode($nowsmsUser) . "&amp;Password=" . urlencode($nowsmsPassword) . "&amp;";
   }
   $urlString = $urlString . "DListAction=List&amp;DListName=" . urlencode($dlistName);
   $response = file_get_contents($urlString);
   if (!strncasecmp ($response, "OK", 2)) return true;
   else return false;

}

// NowSMSDListCheckMember - Returns true if member of distribution list, otherwise false.
// Parameters:
//  $nowsmsIP - IP Address or host name of NowSMS server (127.0.0.1 for local host)
//  $nowsmsPort - Web interface port number of NowSMS server (8800 for default configuration)
//  $nowsmsUser &amp; $nowsmsPassword - user name and password for account defined under "SMS Users"
//  $dlistName - Distribution list name
//  $dlistMember - Distribution list member phone number

function NowSMSDListCheckMember ($nowsmsIP, $nowsmsPort, $nowsmsUser, $nowsmsPassword, $dlistName, $dlistMember) {

   $urlString = "http://" . $nowsmsIP . ":" . $nowsmsPort . "/DLists?";
   if (!is_null($nowsmsUser) &amp;&amp; ($nowsmsUser != "")) {
      $urlString = $urlString . "User=" . urlencode($nowsmsUser) . "&amp;Password=" . urlencode($nowsmsPassword) . "&amp;";
   }
   $urlString = $urlString . "DListAction=List&amp;DListName=" . urlencode($dlistName);
   $response = file_get_contents($urlString);

   $memberArray = explode("\r\n",$response); 

   for ($i = 1; $i &lt; count($memberArray); $i++) {
      $idxDash = strpos ($memberArray[$i], " -");
      if ($idxDash !== false) {
         $memberArray[$i] = substr ($memberArray[$i], 0, $idxDash);
      }
      if (!strcasecmp ($memberArray[$i], $dlistMember)) return true;
   }

   return false;

}

// NowSMSDListAddMember - Add member to distribution list
// Parameters:
//  $nowsmsIP - IP Address or host name of NowSMS server (127.0.0.1 for local host)
//  $nowsmsPort - Web interface port number of NowSMS server (8800 for default configuration)
//  $nowsmsUser &amp; $nowsmsPassword - user name and password for account defined under "SMS Users"
//  $dlistName - Distribution list name
//  $dlistMember - Distribution list member phone number

function NowSMSDListAddMember ($nowsmsIP, $nowsmsPort, $nowsmsUser, $nowsmsPassword, $dlistName, $dlistMember) {

   $urlString = "http://" . $nowsmsIP . ":" . $nowsmsPort . "/DLists?";
   if (!is_null($nowsmsUser) &amp;&amp; ($nowsmsUser != "")) {
      $urlString = $urlString . "User=" . urlencode($nowsmsUser) . "&amp;Password=" . urlencode($nowsmsPassword) . "&amp;";
   }
   $urlString = $urlString . "DListMemberAction=Add&amp;DListName=" . urlencode($dlistName) . "&amp;DListMember=" . urlencode($dlistMember);
   $response = file_get_contents($urlString);

}

// NowSMSDListDeleteMember - Delete member from distribution list
// Parameters:
//  $nowsmsIP - IP Address or host name of NowSMS server (127.0.0.1 for local host)
//  $nowsmsPort - Web interface port number of NowSMS server (8800 for default configuration)
//  $nowsmsUser &amp; $nowsmsPassword - user name and password for account defined under "SMS Users"
//  $dlistName - Distribution list name
//  $dlistMember - Distribution list member phone number

function NowSMSDListDeleteMember ($nowsmsIP, $nowsmsPort, $nowsmsUser, $nowsmsPassword, $dlistName, $dlistMember) {

   $urlString = "http://" . $nowsmsIP . ":" . $nowsmsPort . "/DLists?";
   if (!is_null($nowsmsUser) &amp;&amp; ($nowsmsUser != "")) {
      $urlString = $urlString . "User=" . urlencode($nowsmsUser) . "&amp;Password=" . urlencode($nowsmsPassword) . "&amp;";
   }
   $urlString = $urlString . "DListMemberAction=Delete&amp;DListName=" . urlencode($dlistName) . "&amp;DListMember=" . urlencode($dlistMember);
   $response = file_get_contents($urlString);

}

// NowSMSDListDeleteMemberAllLists - Scan all distribution lists and remove member
// Parameters:
//  $nowsmsIP - IP Address or host name of NowSMS server (127.0.0.1 for local host)
//  $nowsmsPort - Web interface port number of NowSMS server (8800 for default configuration)
//  $nowsmsUser &amp; $nowsmsPassword - user name and password for account defined under "SMS Users"
//  $dlistMember - Distribution list member phone number

function NowSMSDListDeleteMemberAllLists ($nowsmsIP, $nowsmsPort, $nowsmsUser, $nowsmsPassword, $dlistMember) {

   $urlString = "http://" . $nowsmsIP . ":" . $nowsmsPort . "/DLists?";
   if (!is_null($nowsmsUser) &amp;&amp; ($nowsmsUser != "")) {
      $urlString = $urlString . "User=" . urlencode($nowsmsUser) . "&amp;Password=" . urlencode($nowsmsPassword) . "&amp;";
   }
   $urlString = $urlString . "DListAction=List";
   $response = file_get_contents($urlString);

   $dlistArray = explode("\r\n",$response); 

   // Loop through all distribution lists and remove member
   for ($i = 0; $i &lt; count($dlistArray); $i++) {
      if ($dlistArray[$i] != "") {
         if (NowSMSDListCheckMember ($nowsmsIP, $nowsmsPort, $nowsmsUser, $nowsmsPassword, $dlistArray[$i], $dlistMember)) {
            NowSMSDListDeleteMember ($nowsmsIP, $nowsmsPort, $nowsmsUser, $nowsmsPassword, $dlistArray[$i], $dlistMember);
         }
      }
   }

}

// NowSMSDListSendSMS - Send an SMS text message to a distribution list
// Parameters:
//  $nowsmsIP - IP Address or host name of NowSMS server (127.0.0.1 for local host)
//  $nowsmsPort - Web interface port number of NowSMS server (8800 for default configuration)
//  $nowsmsUser &amp; $nowsmsPassword - user name and password for account defined under "SMS Users"
//  $dlistName - Distribution list name

function NowSMSDListSendSMS ($nowsmsIP, $nowsmsPort, $nowsmsUser, $nowsmsPassword, $dlistName, $smsText) {

   $urlString = "http://" . $nowsmsIP . ":" . $nowsmsPort . "/?";
   if (!is_null($nowsmsUser) &amp;&amp; ($nowsmsUser != "")) {
      $urlString = $urlString . "User=" . urlencode($nowsmsUser) . "&amp;Password=" . urlencode($nowsmsPassword) . "&amp;";
   }
   $urlString = $urlString . "PhoneNumber=" . urlencode($dlistName) . "&amp;Text=" . urlencode($smsText);
   $response = file_get_contents($urlString);
   if (strpos ($response, "MessageID=") === false) return false;
   else return true;

}
?&gt;</pre>
</div>
<div></div>
<div><a href="http://www.nowsms.com/examples/dlist-example-php.txt">dlist-example.php</a> is an example implementation of a 2-way command that uses these functions.  This example is intended to show how these PHP functions can be used.  This example is available at the following link:  <a href="http://www.nowsms.com/examples/dlist-example-php.txt">http://www.nowsms.com/examples/dlist-example-php.txt</a></div>
<div>
<p>This example supports receiving the following commands via SMS:</p>
<p>&#8220;JOIN dlistname&#8221; or &#8220;START dlistname&#8221; to join a distribution list</p>
<p>&#8220;STOP dlistname&#8221; or &#8220;LEAVE dlistname&#8221; to be removed from a distribution list.</p>
<p>&#8220;STOP&#8221; by itself will remove the user from all distribution lists.</p>
<p>&#8220;SEND dlistname&#8221; followed by some text  allows any member of the distribution list to broadcast a message to the entire list.</p>
</div>
<div>
<pre class="notranslate" style="font-size: 9px; line-height: 9px; margin-bottom: 0;">&lt;?php

header ("Content-Type: text/plain"); 

// dlist-example.php - This is an example to describe PHP functions for adding and deleting members from an SMS distribution list.
//
// Expected 2-way command format:  http://server/dlist-example.php?sender=@@SENDER@@&amp;text=@@FULLSMS@@
//
// This example supports receiving the following commands via SMS:
//   "JOIN dlistname" or "START dlistname" to join a distribution list
//   "STOP dlistname" or "LEAVE dlistname" to be removed from a distribution list.
//   "STOP" by itself will remove the user from all distribution lists.
//   "SEND dlistname " allows any member of the distribution list to broadcast a message to the entire list.

$nowsmsIP = "127.0.0.1";
$nowsmsPort = "8800";
$nowsmsUser = "test";
$nowsmsPassword = "test";

require_once "nowsmsdlist.php";   // PHP function file that contains functions for working with NowSMS distribution lists

/* Performs explode() on a string with the given delimiter and trims all whitespace for the elements */
function explode_trim($str, $delimiter = ',') {
    if ( is_string($delimiter) ) {
        $str = trim(preg_replace('|\\s*(?:' . preg_quote($delimiter) . ')\\s*|', $delimiter, $str));
        return explode($delimiter, $str);
    }
    return $str;
} 

// Check for required URL parameters, sender and text
// Expected 2-way command format:  http://server/dlist.php?sender=@@SENDER@@&amp;text=@@FULLSMS@@

if (!isset($_REQUEST['sender'])) {
echo "ERROR : 'sender' parameter missing!\r\n";
exit();
}

if (!isset($_REQUEST['text'])) {
echo "ERROR : 'text' parameter missing\r\n";
exit();
} 

$array = explode_trim($_REQUEST['text'],' '); 

// If a list name was not specified, set array with blank value
if (count($array) &lt; 2) $array[1] = "";

if (!strcasecmp($array[0],"JOIN") || !strcasecmp($array[0],"START")) {
   // Check if distribution list exists
   if (NowSMSDListExists ($nowsmsIP, $nowsmsPort, $nowsmsUser, $nowsmsPassword, $array[1])) {
      // Distribution list exists, check if sender is already a member
      if (NowSMSDListCheckMember ($nowsmsIP, $nowsmsPort, $nowsmsUser, $nowsmsPassword, $array[1], $_REQUEST['sender'])) {
         echo "You have already joined list " . $array[1] . ".  Reply STOP " . $array[1] . " to leave.";
      }
      else {
         // Add member to distribution list
         NowSMSDListAddMember ($nowsmsIP, $nowsmsPort, $nowsmsUser, $nowsmsPassword, $array[1], $_REQUEST['sender']);
         // Verify that member was added to distribution list
         if (NowSMSDListCheckMember ($nowsmsIP, $nowsmsPort, $nowsmsUser, $nowsmsPassword, $array[1], $_REQUEST['sender'])) {
            echo "You have joined list " . $array[1] . ".  Reply STOP " . $array[1] . " to leave.";
         }
         else {
            echo "An error occurred attempting to join list " . $array[1];
         }
      }
   }
   else {
      echo "List " . $array[1] . " does not exist.";
   }
}
else if (!strcasecmp($array[0],"LEAVE") || !strcasecmp($array[0],"STOP")) {
   // If a list name was not specified, remove from all lists.
   if ($array[1] == "") {
      NowSMSDListDeleteMemberAllLists ($nowsmsIP, $nowsmsPort, $nowsmsUser, $nowsmsPassword, $_REQUEST['sender']);
      echo "You have been removed from all lists";
   }
   // Check if distribution list exists
   else if (NowSMSDListExists ($nowsmsIP, $nowsmsPort, $nowsmsUser, $nowsmsPassword, $array[1])) {
      // Distribution list exists, check if sender is a member
      if (NowSMSDListCheckMember ($nowsmsIP, $nowsmsPort, $nowsmsUser, $nowsmsPassword, $array[1], $_REQUEST['sender'])) {
         // Remove member from distribution list
         NowSMSDListDeleteMember ($nowsmsIP, $nowsmsPort, $nowsmsUser, $nowsmsPassword, $array[1], $_REQUEST['sender']);
         // Verify that member was removed
         if (!NowSMSDListCheckMember ($nowsmsIP, $nowsmsPort, $nowsmsUser, $nowsmsPassword, $array[1], $_REQUEST['sender'])) {
            echo "You are no longer subscribed to list " . $array[1] . ".";
         }
         else {
            echo "An error occurred attempting to leave list " . $array[1];
         }
      }
      else {
         echo "You are not subscribed to list " . $array[1] . ".";
      }
   }
   else {
      echo "List " . $array[1] . " does not exist.";
   }
}
else if (!strcasecmp($array[0],"SEND")) {
   // Check if distribution list exists
   if (NowSMSDListExists ($nowsmsIP, $nowsmsPort, $nowsmsUser, $nowsmsPassword, $array[1])) {
      // Distribution list exists, check if sender is already a member
      if (NowSMSDListCheckMember ($nowsmsIP, $nowsmsPort, $nowsmsUser, $nowsmsPassword, $array[1], $_REQUEST['sender'])) {
         $smsText = $array[1] . ":" . $_REQUEST['sender'];
         for ($i = 2; $i &lt; count($array); $i++) {
            $smsText = $smsText . " " . $array[$i];
         }
         if (NowSMSDListSendSMS ($nowsmsIP, $nowsmsPort, $nowsmsUser, $nowsmsPassword, $array[1], $smsText)) {
            echo "Message sent";
         }
         else echo "Error sending message";
      }
      else echo "You are not subscribed to list " . $array[i] . ".";
   }
   else echo "Unknown list " . $array[i] . ".";

}
else {
   echo "Unknown request " . $array[0];
}

?&gt;</pre>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.nowsms.com/sms-distribution-lists-with-php/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>NowWAP Statistics Reports</title>
		<link>http://www.nowsms.com/nowwap-statistics-reports</link>
		<comments>http://www.nowsms.com/nowwap-statistics-reports#comments</comments>
		<pubDate>Tue, 10 May 2011 09:48:35 +0000</pubDate>
		<dc:creator>brett</dc:creator>
				<category><![CDATA[Support Blog]]></category>
		<category><![CDATA[NowWAP]]></category>

		<guid isPermaLink="false">http://www.nowsms.com/?p=13198</guid>
		<description><![CDATA[The log files created by NowWAP are of a text format that follows the common log format for web servers. These log files are stored on the NowWAP server, with one log file created for each day, using a file naming convention of WAPGW-yyyymmdd.LOG, where yyyymmdd is the 4-digit year, 2-digit month and 2-digit day. [...]]]></description>
				<content:encoded><![CDATA[<p>The log files created by NowWAP are of a text format that follows the common log format for web servers.</p>
<p>These log files are stored on the NowWAP server, with one log file created for each day, using a file naming convention of WAPGW-yyyymmdd.LOG, where yyyymmdd is the 4-digit year, 2-digit month and 2-digit day.</p>
<p>NowWAP 2011 has optional functionality which can convert these log files into a database format for further analysis.  This functionality is enabled by checking &#8220;Generate Usage Reports&#8221; on the &#8220;Reports&#8221; page of the configuration dialog.</p>
<p><a href="http://images.nowsms.com/2011/05/nowwap-usage-report.png"><img class="alignnone size-full wp-image-13199" title="nowwap-usage-report" src="http://images.nowsms.com/2011/05/nowwap-usage-report.png" alt="" width="456" height="519" /></a></p>
<p>When usage reports are enabled, NowWAP will automatically generate daily and monthly usage reports.</p>
<p>These reports are located in the <strong>REPORTS</strong> subdirectory of the NowSMS installation.</p>
<p><strong>REPORTS\LOGDB</strong> contains SQLite format databases with one database per month.</p>
<p><strong>REPORTS\TEXT</strong> contains text format summary reports of NowWAP usage.  Daily reports have file names of YYYYMMDD.TXT and monthly reports have file names of YYYYMM.TXT.  Every night at midnight, a new daily report and updated monthly report for the current month will be generated.</p>
<p>The format of the text report will be similar to the following:</p>
<pre>NowWAP Usage Report: YYYYMMDD
#### - Max Active Users
#### - Max Active Requests
#### - Total Unique MSISDN
#### - Total Sessions
#### - Total Requests

Top Active Users
#### - Phone Number 1
#### - Phone Number 2
etc...

Top Content Domains
#### - Domain 1
#### - Domain 2
etc...

Top Content Servers
#### - Server 1
#### - Server 2
etc...</pre>
<p><strong>REPORTS\XML</strong> contains XML formatted summary reports of NowWAP usage.  Daily reports have file names of YYYYMMDD.XML and monthly reports have file names of YYYYMM.XML.  Every night at midnight, a new daily report and updated monthly report for the current month will be generated.</p>
<p>The format of the XML report will be similar to the following.  Note that some XML elements may not be present, depending on NowWAP configuration issues.  Also note that additional XML elements may be added in future releases.</p>
<pre>&lt;NowWAPUsageReport&gt;
&lt;ReportDate&gt;YYYYMMDD&lt;/ReportDate&gt;
&lt;MaxActiveUsers&gt;####&lt;/MaxActiveUsers&gt;
&lt;MaxActiveRequests&gt;####&lt;/MaxActiveRequests&gt;
&lt;TotalUniqueMsisdn&gt;####&lt;/TotalUniqueMsidn&gt;
&lt;TotalSessions&gt;####&lt;/TotalSessions&gt;
&lt;TotalRequests&gt;####&lt;/TotalRequests&gt;
&lt;TopActiveMsisdn&gt;
&lt;Name&gt;Phone Number 1&lt;/Name&gt;&lt;Requests&gt;####&lt;/Requests&gt;
&lt;Name&gt;Phone Number 2&lt;/Name&gt;&lt;Requests&gt;####&lt;/Requests&gt;
&lt;/TopActiveMsisdn&gt;
&lt;TopContentDomains&gt;
&lt;Name&gt;Domain 1&lt;/Name&gt;&lt;Requests&gt;####&lt;/Requests&gt;
&lt;Name&gt;Domain 2&lt;/Name&gt;&lt;Requests&gt;####&lt;/Requests&gt;
&lt;/TopContentDomains&gt;
&lt;TopContentServers&gt;
&lt;Name&gt;Server 1&lt;/Name&gt;&lt;Requests&gt;####&lt;/Requests&gt;
&lt;Name&gt;Server 2&lt;/Name&gt;&lt;Requests&gt;####&lt;/Requests&gt;
&lt;/TopContentServers&gt;
&lt;/NowWAPUsageReport&gt;</pre>
<p><strong>ReportDate</strong> – YYYYMMDD for a daily report or YYYYMM for a monthly report.</p>
<p><strong>MaxActiveUsers</strong> – The maximum number of active (concurrent) users recorded during the report period.  (Note:  This information cannot be obtained from log files created by earlier versions of NowWAP.)</p>
<p><strong>MaxActiveRequests</strong> – The maximum number of simultaneous requests recorded during the report period.  (Note:  This information cannot be obtained from log files created by earlier versions of NowWAP.)</p>
<p><strong>TotalUniqueMsisdn</strong> – The number of unique MSISDN (phone numbers) that made requests of the proxy.  (Note:  Requires MSISDN/RADIUS integration.)</p>
<p><strong>TotalSessions</strong> – The number of user sessions during the report period.</p>
<p><strong>TotalRequests</strong> – The number of user requests serviced during the report period.</p>
<p><strong>TopActiveMsisdn</strong> – A list of the most active mobile terminals and the number of requests generated by that mobile terminal during the report period.   (Note:  Requires MSISDN/RADIUS integration.)</p>
<p><strong>TopContentDomains</strong> – A list of the content domains which recorded the most requests (hits) during the report period.</p>
<p><strong>TopContentServers</strong> – A list of the content servers which recorded the most requests (hits) during the report period.</p>
<h1>Additional Reports</h1>
<p>It may be possible to create additional reports by developing your own queries of the reports database.</p>
<p>Every day the log files from the previous day get merged into a monthly SQLite database format that is stored in the REPORTS\LOGDB directory.</p>
<p>It is possible to download SQLite from <a href="http://www.sqlite.org">www.sqlite.org</a>, and use sqlite3.exe to run queries against the database.</p>
<p>To better understand the database structure, here are the commands that are used to <strong>create the monthly database</strong>:</p>
<p>CREATE TABLE WAPGWLOG (AUTOID INTEGER PRIMARY KEY AUTOINCREMENT, RequestID text, RequestIP text, MSISDN text, RequestDate text, RequestTime text, RequestType text, RequestServer text, RequestDomain text, RequestURL text, HTTPStatus text, BytesOut integer, BytesIn integer, UserAgent text);<br />
create index RequestID on WAPGWLOG (RequestID);<br />
create index RequestDate on WAPGWLOG (RequestDate);<br />
create index MSISDN on WAPGWLOG (MSISDN);<br />
create index RequestDomain on WAPGWLOG (RequestDomain);<br />
create index RequestServer on WAPGWLOG (RequestServer);<br />
create index RequestType on WAPGWLOG (RequestType);<br />
create index MSISDNByDate on WAPGWLOG (RequestDate,MSISDN);<br />
create index RequestDomainByDate on WAPGWLOG (RequestDate,RequestDomain);<br />
create index RequestServerByDate on WAPGWLOG (RequestDate,RequestServer);<br />
create index RequestTypeByDate on WAPGWLOG (RequestDate,RequestType);</p>
<p><strong>More information about database fields:</strong></p>
<p>RequestID = auto generated ID for request<br />
RequestIP = IP address of device<br />
MSISDN = MSISDN of device<br />
RequestDate format = YYYYMMDD<br />
RequestTime format = HHMMSS<br />
RequestType &#8211; GET, POST, CONNECT, DISCONNECT, STARTSERVICE, STOPSERVICE<br />
RequestServer &#8211; Host name part of URL<br />
RequestDomain &#8211; Host name parsed to higher level domain name<br />
HTTPStatus &#8211; HTTP Status code of request (e.g, 200=OK, 301=Redirect, 304=Not Modified, 404=Not Found, etc.)<br />
BytesOut, BytesIn &#8211; Number of bytes transferred to/from device<br />
UserAgent &#8211; User-agent header from device making request</p>
<p>SQL Commands used to generate information in summary report:</p>
<p><strong>Total Unique MSISDN</strong></p>
<p>select count(*) from (select MSISDN from WAPGWLOG where (RequestDate = &#8216;%s&#8217;) and (MSISDN != &#8221;) group by MSISDN);</p>
<p><strong>Total Sessions</strong></p>
<p>select count(*) from WAPGWLOG where (RequestDate = &#8216;%s&#8217;) and (RequestType = &#8216;CONNECT&#8217;) and (RequestURL = &#8221;);</p>
<p><strong>Total Requests</strong></p>
<p>select count(*) from WAPGWLOG where (RequestDate = &#8216;%s&#8217;) and (RequestType != &#8216;STARTSERVICE&#8217;) and (RequestType != &#8216;STOPSERVICE&#8217;);</p>
<p><strong>Top Active Users</strong></p>
<p>select MSISDN,count(*) from WAPGWLOG where (RequestDate = &#8216;%s&#8217;) and (MSISDN != &#8221;) group by MSISDN order by count(*) DESC limit 100;</p>
<p><strong>Top Content Domains</strong></p>
<p>select RequestDomain,count(*) from WAPGWLOG where (RequestDate = &#8216;%s&#8217;) and (RequestDomain != &#8221;) group by RequestDomain order by count(*) DESC limit 100;</p>
<p><strong>Top Content Servers</strong></p>
<p>select RequestServer,count(*) from WAPGWLOG where (RequestDate = &#8216;%s&#8217;) and (RequestServer != &#8221;) group by RequestServer order by count(*) DESC limit 100;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.nowsms.com/nowwap-statistics-reports/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SMPP TLV Parameters for Advanced Message Routing</title>
		<link>http://www.nowsms.com/smpp-tlv-parameters-for-advanced-message-routing</link>
		<comments>http://www.nowsms.com/smpp-tlv-parameters-for-advanced-message-routing#comments</comments>
		<pubDate>Thu, 05 May 2011 15:05:38 +0000</pubDate>
		<dc:creator>brett</dc:creator>
				<category><![CDATA[Support Blog]]></category>
		<category><![CDATA[accounting callbacks]]></category>
		<category><![CDATA[routing]]></category>
		<category><![CDATA[SMPP TLV Parameters]]></category>
		<category><![CDATA[SMPPOptions]]></category>
		<category><![CDATA[SMS hubbing]]></category>

		<guid isPermaLink="false">http://www.nowsms.com/?p=13192</guid>
		<description><![CDATA[There has been some interesting recent discussion about the use of optional SMPP TLV parameters to help facilitate message routing between SMS hubs. Some of this discussion can be found at the following message thread on the NowSMS discussion forum: http://www.nowsms.com/discus/messages/1/70053.html This article attempts to summarise this information. Those interested in further information are encouraged [...]]]></description>
				<content:encoded><![CDATA[<p>There has been some interesting recent discussion about the use of optional SMPP TLV parameters to help facilitate message routing between SMS hubs.</p>
<p>Some of this discussion can be found at the following message thread on the NowSMS discussion forum: <a href="http://www.nowsms.com/discus/messages/1/70053.html">http://www.nowsms.com/discus/messages/1/70053.html</a></p>
<p>This article attempts to summarise this information. Those interested in further information are encouraged to join the <a href="http://www.nowsms.com/discus/messages/1/70053.html">discussion thread</a>.</p>
<p>Most NowSMS users will have no reason to be concerned with these parameters. This article is presented primarily for the interest of those using NowSMS as part of an SMS hub application.</p>
<p>Part of the inspiration for this discussion is the GSM Association document &#8220;Open Connectivity SMS Hubbing Architecture IR.75&#8243;, which can be found at the following link: <a href="http://www.gsmworld.com/documents/IR7520_unrest.pdf">http://www.gsmworld.com/documents/IR7520_unrest.pdf</a></p>
<p>That document suggests using the SMPP TLV parameters source_subaddress (0&#215;202) and dest_subaddress (0&#215;203) for encoding routing information for the MCC (mobile country code) and MNC (mobile network code) of the source (sender) and destination (recipient) addresses.</p>
<p>This is done to help simplify the routing of messages by intermediary hubs.</p>
<p>Historically, SMS service providers have defined their own proprietary SMPP TLV to encode this information (if it is made available at all). For example, mBlox defines an mblox_operator parameter using TLV parameter number 0&#215;1402.</p>
<p>Hopefully more providers will use the GSM Association Recommendation in IR.75 in place of proprietary parameters.</p>
<p>Future versions of NowSMS (releases after 2011.05.05) will include automatically include support for forwarding these parameters.</p>
<p>Support can be enabled in prior versions of NowSMS by creating or editing an [SMPPOptions] section in SMSGW.INI and adding the following entries to this section:</p>
<p>[SMPPOptions]<br />
source_subaddress=202,HexString<br />
dest_subaddress=203,HexString</p>
<p>(Note: Support for the HexString parameter format was added in 2007.04.)</p>
<p>It is necessary to use the HexString encoding format for this parameter, because the SMPP specification defines first byte of the value as being a binary code value for the type of subaddress. In the case of the GSM Association values, this first byte is always A0 (hex), indicating user specified.</p>
<p>The next 3 bytes are the MCC, followed by 3 bytes for the MNC.</p>
<p>ASCII character values are used for the MCC and MNC, and then converted to a hex string.</p>
<p>The IR.75 document provides an example using the MCC and MNC for AT&amp;T USA, where MCC=310 and MNC=380.</p>
<p>Converting the MCC value from ASCII to its hex string encoding would produce the following sequence of bytes: 33 31 30, and MNC would result in the following: 33 38 30.</p>
<p>The resulting parameter value in hex string format would be A0333130333830.</p>
<p>To specify this value as a source subaddress in NowSMS via HTTP, the following parameter value would be used:</p>
<p>SMPPOption_source_subaddress=A0333130333830</p>
<p>This thread discusses the use of NowSMS accounting callbacks, which can be used to query and/or update these parameters. (Update support was added in the 2011.04.17 release.)</p>
<p>Most NowSMS users will have no reason to be concerned with these parameters.</p>
<p>However, here are a few of the scenarios where it may be necessary to use these parameters.</p>
<p>1.) 2-way (interactive) SMS applications may receive the SMPPOption_source_subaddress parameter to indicate the mobile network from which the request originated, and be required to supply this value as the SMPPOption_dest_subaddress when generating a reply.</p>
<p>Future versions of NowSMS (releases after 2011.05.05) will apply this logic automatically when processing a 2-way command that returns its text response directly. Other 2-way commands would need to look for the &#8220;&amp;SMPPOption_source_subaddress=&#8221; URL parameter and generate an appropriate &#8220;&amp;SMPPOption_dest_subaddress=&#8221; URL parameter when submitting a message reply back to NowSMS.</p>
<p>2.) When NowSMS is being used to route messages between providers, it may be desirable to route messages based upon the MCC/MNC value.</p>
<p>This can be done via SMS accounting callbacks. This concept is described in the following article:</p>
<p><a href="http://www.nowsms.com/dynamic-sms-message-routing-with-http-callbacks">http://www.nowsms.com/dynamic-sms-message-routing-with-http-callbacks</a></p>
<p>What is not mentioned in that article is that beginning with release 2010.05.17, NowSMS also includes SMPP TLV parameters in the accounting callbacks.</p>
<p>This allows the callback processor to inspect the &#8220;&amp;SMPPOption_source_subaddress=&#8221; and &#8220;&amp;SMPPOption_dest_subaddress=&#8221; parameters, using those values to determine which route to use for sending the message. (The callback returns a response of SMSCRoute=xxxxx to specify the route to be used, as described in the link referenced above.)</p>
<p>3.) As an extension to the previous scenario, it may be necessary for a system providing SMS hubbing services to apply or insert the above values.</p>
<p>For example, it may be desirable to apply a source_subaddress automatically to all messages received from a particular connection.</p>
<p>Or it may be desirable to perform HLR lookups and apply dest_subaddress parameters before routing.</p>
<p>NowSMS 2011.04.17 and later allow these TLV parameters to be updated by an accounting callback.</p>
<p>In addition to passing these parameters to accounting callbacks via HTTP URL parameters, NowSMS checks the response from the accounting callback to allow these parameters to be set or updated.</p>
<p>The accounting callback should return a &#8220;text/plain&#8221; response with any parameters to be updated separated by line breaks.</p>
<p>For example:</p>
<p>SMSCRoute=connectionA<br />
SMPPOption_source_subaddress=A0333130333830<br />
SMPPOption_dest_subaddress=A0323334303135</p>
<p>Note: To enable the ability to override SMPPOption parameter values in the accounting callback response, it is necessary at this time to add SMSAccountingAllowChanges=Yes to the [SMSGW] section of SMSGW.INI.</p>
<p>One other note for those not familiar with the NowSMS concept of accounting callbacks. These are HTTP callbacks where NowSMS send an HTTP request to a URL that you define.</p>
<p>These callbacks would normally reside on a separate web server. However, newer versions of NowSMS also support the ability to host PHP scripts locally, as described in the following article: <a href="http://www.nowsms.com/now-sms-native-php-scripts">http://www.nowsms.com/now-sms-native-php-scripts</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.nowsms.com/smpp-tlv-parameters-for-advanced-message-routing/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Using PHP Scripts to Extend NowSMS</title>
		<link>http://www.nowsms.com/now-sms-native-php-scripts</link>
		<comments>http://www.nowsms.com/now-sms-native-php-scripts#comments</comments>
		<pubDate>Tue, 19 Apr 2011 15:33:18 +0000</pubDate>
		<dc:creator>brett</dc:creator>
				<category><![CDATA[Support Blog]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.nowsms.com/?p=13173</guid>
		<description><![CDATA[PHP scripts are a great tool for integrating NowSMS into another application environment, or extending the functionality of NowSMS. PHP scripts are often used for 2-way SMS or MMS processing, providing a convenient mechanism for processing the received message content in an application, and optionally replying back to the received message, updating or querying a [...]]]></description>
				<content:encoded><![CDATA[<p>PHP scripts are a great tool for integrating NowSMS into another application environment, or extending the functionality of NowSMS.</p>
<p>PHP scripts are often used for 2-way SMS or MMS processing, providing a convenient mechanism for processing the received message content in an application, and optionally replying back to the received message, updating or querying a database, or taking other action upon the message which could involve sending one or more messages to other parties.</p>
<p>PHP scripts are also frequently used to implement accounting or routing callbacks.  Accounting callbacks can be used to record messaging activity, and to integrate with external billing or accounting systems.  These accounting callbacks also support the ability to block messaging activity when external billing criteria indicates that a message operation should be be allowed.  Routing callbacks can be used to provide additional control for selecting the outbound route to be used for message delivery, such as interfacing into mobile number portability databases or HLR lookups.</p>
<p>NowSMS interfaces with PHP scripts via an HTTP interface, which has historically required a separate HTTP web server with PHP installed.  By using an HTTP interface, NowSMS can integrate with other web based scripting languages and environments, including ASP, ASP.Net, Java and Perl.</p>
<p>The separate web server requirement can make it more difficult to develop 2-way command scripts or accounting callbacks, especially when prototyping an application.</p>
<p>Beginning with the <strong>2011.04.19</strong> version of NowSMS (currently in test release at <a href="http://www.nowsms.com/download/nowsms20110419.zip">http://www.nowsms.com/download/nowsms20110419.zip</a>), NowSMS supports the ability to interface with a locally installed copy of PHP, without requiring a separate web server to manage PHP callbacks.</p>
<p>To enable this support, it is necessary to first install PHP on the PC that is running NowSMS by following these steps:</p>
<p>1.) Download and run the Windows installer for PHP at <a href="http://windows.php.net/download/">http://windows.php.net/download/</a>.  We recommend using a thread safe version of the current build (5.3.6 at the time this article was written).</p>
<p>2.) When the PHP installer displays its &#8220;Web Server Setup&#8221; selection screen, be sure to select &#8220;Other CGI&#8221;.</p>
<p><a href="http://images.nowsms.com/2011/04/php-install-cgi.png"><img class="alignnone size-full wp-image-13174" title="PHP Install CGI Server" src="http://images.nowsms.com/2011/04/php-install-cgi.png" alt="" width="509" height="400" /></a></p>
<p>3.) The default PHP installation does not include many popular PHP libraries and extensions.  You may want to consider installing other &#8220;Extensions&#8221; and &#8220;Extras&#8221;.  At a minimum, we recommend installing PEAR, which is listed under &#8220;Extras&#8221;.   (In particular, the mail functions built into PHP are extremely limited, and the PEAR Mail Package is frequently used for sending e-mails from PHP scripts.)</p>
<p>﻿<a href="http://images.nowsms.com/2011/04/php-install-pear.png"><img class="alignnone size-full wp-image-13176" title="php-install-pear" src="http://images.nowsms.com/2011/04/php-install-pear.png" alt="" width="509" height="400" /></a></p>
<p>4.) After PHP has been installed, let&#8217;s continue and install PEAR and the PEAR Mail package.  Open a Command Prompt window by right clicking on &#8220;Command Prompt&#8221; (usually under Programs/Accessories) and selecting &#8220;Run as Administrator&#8221;.  Once the Command Prompt window is open, change to the directory in which PHP was installed.</p>
<p>5.) To install PEAR, type go-pear and press Enter.  Unless you are an expert at installing and configuring PEAR, accept all of the defaults presented by the installation routine by pressing Enter each time prompted.</p>
<p>6.) To install the PEAR Mail Package, from that same command prompt window, type:</p>
<pre> pear install Mail</pre>
<p>7.) Mail requires an additional PEAR package to function properly: Net_SMTP.  To install the PEAR Net_SMTP Package, from that same command prompt window, type:</p>
<pre> pear install Net_SMTP</pre>
<p>8.) PHP installation is complete.  Now it is necessary to configure NowSMS to use the locally installed copy of PHP.  In the NowSMS configuration, go to the &#8220;2-Way&#8221; page, and select &#8220;Enable Local PHP Processing&#8221;.</p>
<p><a href="http://images.nowsms.com/2011/04/nowsms-php-config.png"><img class="alignnone size-full wp-image-13178" title="nowsms-php-config" src="http://images.nowsms.com/2011/04/nowsms-php-config.png" alt="" width="426" height="704" /></a></p>
<p>NowSMS interfaces with php-cgi.exe, which should have been installed by the PHP installation program.  When &#8220;Enable Local PHP Processing&#8221; is first checked, NowSMS will verify that it can locate php-cgi.exe.  If it cannot locate this file, an error message will be displayed.</p>
<p>You are now ready to create your first PHP script.</p>
<h1>What You Need To Know About NowSMS and Local PHP Scripts</h1>
<p>The <strong>&#8220;2-Way&#8221;</strong> command page displays the directory location of the directory that should contain any local PHP scripts, as shown above, where it displays &#8220;http://nowsmslocal/php resolves to C:\ProgramData\NowSMS\PHP\&#8221;.</p>
<p>This indicates that PHP scripts need to be placed in the C:\ProgramData\NowSMS\PHP directory.  It is possible to change this directory by editing SMSGW.INI, and under the [SMSGW] header, adding PHPDir=c:\path</p>
<p>If, after adding a PHPDir= configuration parameter, the <strong>&#8220;2-Way&#8221;</strong> page does not update to the new location, uncheck <strong>&#8220;Enable Local PHP Process&#8221;</strong>, and then recheck this setting.</p>
<p>When defining a 2-way command (or accounting callback) that points to a local PHP script, the script URL should start with http://nowsmslocal/php (example for a script named echo.php: http://nowsmslocal/php/echo.php&amp;sender=@@SENDER@@&amp;text=@@FULLSMS@@).</p>
<p>It is also possible to access these PHP scripts from a web browser installed on the same machine by referencing the script via the local loopback address, http://localhost:8800/php or http://127.0.0.1:8800/php (assuming that the NowSMS web interface is running on port 8800, otherwise change this port number).  By default, PHP scripts can only be accessed locally.  If access required from other systems, check &#8220;Allow External Web Access to PHP Scripts&#8221;.  When &#8220;Allow External Web Access to PHP Scripts&#8221; is enabled, the scripts will be accessible to any system that can access the NowSMS web interface (i.e., the &#8220;Allowed/Blocked&#8221; list on the &#8220;Web&#8221; configuration dialog).</p>
<p>Let&#8217;s start with a simple 2-way command example.</p>
<p><strong><a href="http://www.nowsms.com/download/echo-php.txt">echo.php</a></strong> is a simple PHP script that parses the text of a received message, and replies back with the same text:</p>
<pre>&lt;?php
header ("Content-Type: text/plain");
if (isset($_REQUEST['text'])) {
   $text = $_REQUEST['text'];
   echo $text;
}
else {
   echo "Invalid request, text= parameter expected.";
}
?&gt;</pre>
<p>This simple example provides a good starting point for building more complex 2-way commands.</p>
<p>Cut and paste the above script into a file named echo.php in your NowSMS PHP directory.</p>
<p>From a web browser on the same machine, access http://127.0.0.1:8800/php/echo.php.  A text page should be returned that says &#8220;Invalid request, text= parameter expected.&#8221;  This indicates that local PHP support is fully configured and operational.</p>
<p>Now let&#8217;s configure NowSMS to execute this command every time it receives an SMS message, sending an echo response back to the sender.</p>
<p><a href="http://images.nowsms.com/2011/04/nowsms-php-2way.png"><img class="alignnone size-full wp-image-13183" title="nowsms-php-2way" src="http://images.nowsms.com/2011/04/nowsms-php-2way.png" alt="" width="426" height="704" /></a></p>
<p>Before continuing, ensure that <strong>&#8220;Process received SMS Messages&#8221;</strong> is checked.</p>
<p>In the <strong>&#8220;SMS Command Prefix&#8221;</strong> field, enter a single asterisk character: *  This character is a wildcard, indicating that the command will match all received messages.  If you want to use this test script for a particular keyword match only (such as &#8220;echo&#8221;), then enter that keyword instead of *.</p>
<p>The <strong>&#8220;Receive Phone Number&#8221;</strong> field can be left blank for the purposes of this test.</p>
<p><strong>&#8220;Command to Execute&#8221;</strong> should be http://nowsmslocal/php/echo.php?text=@@TEXT&amp;sender=@@SENDER@@</p>
<p>This particular command returns its response directly in the script, so <strong>&#8220;Command returns response text&#8221;</strong> should also be checked.</p>
<p>Press <strong>&#8220;Add&#8221;</strong> to add the command to the table, and <strong>&#8220;Apply&#8221;</strong> to save changes.  Restart the NowSMS service.</p>
<p>The simple version of the echo.php script only checks the &#8220;text=&#8221; parameter, which is accessible in the script as <span style="font-family: Consolas, Monaco, 'Courier New', Courier, monospace; line-height: 18px; white-space: pre;">$_REQUEST['text'].</span></p>
<p>Try sending an SMS message in to the script.  If the <strong>&#8220;SMS Received&#8221;</strong> counter on the <strong>&#8220;Service&#8221;</strong> page of the NowSMS configuration dialog is not showing an increase in received messages, your messages are not making it as far as NowSMS.  There are some helpful troubleshooting tips for this situation in a post on the NowSMS discussion board at <a href="http://www.nowsms.com/discus/messages/1/4520.html">http://www.nowsms.com/discus/messages/1/4520.html</a>.</p>
<p>Note that it is very dangerous to implement a script that blindly replies back to all received messages, as it is possible to get stuck in an infinite reply loop with other SMS robots.  It is advisable that you include logic in your script to limit replies, especially error replies.  Also, beware of loops where you accidentally send an SMS message from your modem to itself.  You can include a check at the beginning of a PHP script to guard against sending to yourself by checking the number from which the message was received, and make sure it does not match the sending number:</p>
<p>if (!strcmp($_REQUEST['sender'],&#8221;+447777777777&#8243;)) { return; }</p>
<p>This is a real simple example intended to help you get started.</p>
<p>Instead of replying back to the SMS message, your script can issue new requests back to NowSMS to send messages (see <a href="http://www.nowsms.com/nowsms-php-example-send-sms-text-message">Send SMS from PHP Script</a> and <a href="http://www.nowsms.com/nowsms-php-example-send-mms-message">Send MMS Message from PHP Script</a> for these examples).  Or your PHP script could <a href="http://us.php.net/manual/en/refs.database.php">query and/or update a database</a>.  There are many possibilities.</p>
<p>Additional NowSMS PHP examples and information are available at the following links:</p>
<p><a href="http://www.nowsms.com/faq/api">http://www.nowsms.com/faq/api</a></p>
<p><a href="http://www.nowsms.com/tag/php">http://www.nowsms.com/tag/php</a></p>
<p>Additional resources for general PHP API information include:</p>
<p><a href="http://www.php.net/">http://www.php.net/</a></p>
<p><a href="http://pear.php.net/">http://pear.php.net/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.nowsms.com/now-sms-native-php-scripts/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>NowSMS Update &#8211; 2011.03.21</title>
		<link>http://www.nowsms.com/nowsms-update-2011-03-21</link>
		<comments>http://www.nowsms.com/nowsms-update-2011-03-21#comments</comments>
		<pubDate>Fri, 25 Mar 2011 12:00:52 +0000</pubDate>
		<dc:creator>brett</dc:creator>
				<category><![CDATA[Software Updates]]></category>

		<guid isPermaLink="false">http://www.nowsms.com/?p=13144</guid>
		<description><![CDATA[An interim update release of the Now SMS &#38; MMS Gateway is currently available at http://www.nowsms.com/download/nowsms20110321.zip. Use the executable file in this ZIP to update an existing NowSMS installation. This document details the update release history since the previous interim update, version 2010.11.04. Release history for the changes prior to the current official release can [...]]]></description>
				<content:encoded><![CDATA[<p>An interim update release of the Now SMS &amp; MMS Gateway is currently available at <a href="http://www.nowsms.com/download/nowsms20110321.zip">http://www.nowsms.com/download/nowsms20110321.zip</a>.  Use the executable file in this ZIP to update an existing NowSMS installation.</p>
<p>This document details the update release history since the previous interim update, version 2010.11.04.  Release history for the changes prior to the current official release can be found at  <a href="http://www.nowsms.com/category/updates">http://www.nowsms.com/category/updates</a>.</p>
<p>The following issues are addressed by this update:</p>
<p><strong>SMS Gateway Updates:</strong></p>
<ul>
<li>SMS Gateway Web Admin Interface: Fix for web admin interface only sending the first 16KB when attempting to remotely download log files.  (For additional information, see <a href="http://www.nowsms.com/discus/messages/1/60254.html">http://www.nowsms.com/discus/messages/1/60254.html</a>.)</li>
<li>SMS Gateway:  Add configuration setting to limit individual user accounts from flooding the outbound message queue.  This setting enforces a maximum number of queued messages that any individual user account can have pending in the outbound message queue.  If a user attempts to submit additional messages when over the limit, a throttling error will be returned.  To enable this throttling, the setting UserOutboundQueueLimit=##### must be added to the [SMSGW] section of SMSGW.INI.  The ##### value sets a default maximum outbound message queue size to be applied to all user accounts.  (A special value of 0 means no limit, but enables non-default settings to be applied to individual user accounts.)  To override the default setting for individual user accounts, create an [UserOutboundQueueLimit] section, and add username=##### to this section to enable a limit for a specific user account.  (A value of 0 will disable limits for that user account.)  Note that queue size monitoring experiences a 30 to 60 second delay, so it is possible that users may slightly exceed configured limits.  Also note that for SMPP accounts, care is taken to ensure that a throttling error does not occur in the middle of a multipart message transmission.</li>
<li>SMS Gateway:  Improved handling of &#8220;User Queue Size Threshold&#8221; to prevent problems where SMPP user accounts could be allocated multiple queue directories, giving extra priority to that account.</li>
<li>SMS Gateway:  The SMSGW.INI SMSCSendLimit=x/y setting, which can limit the speed at which messages are sent via a specific SMSC connection, was not functioning accurately at higher speeds.  The setting has been reworked to support throttling at higher speeds.</li>
<li>SMS Gateway/SMPP Client:  When a throttling error occurs, additional logic requeues the message that triggered the error so that several retries will be attempted without requiring a pass through the entire message queue before the message is retried.  This is necessary for proper handling of multipart segmented messages, so that if one part of the message encounters a throttling error, it can still be transmitted within the same window as other parts of the message when the outbound message queue is very full.</li>
<li>SMS Gateway:  Fix for changes to the [Inbound SMS Routing] table (used for routing received messages to local user accounts based upon recipient address matching) not automatically being reloaded by the server without a restart.</li>
<li>2-Way SMS Command Processor:  Fix for a problem where a message with invalid UDH could be posted repeatedly to a 2-way command.  The problem could occur if the user data header indicated a multipart message where the current part number was larger than the number of indicated message parts.</li>
<li>SMS Gateway:  Add configuration option to duplicate SMPP receipts being routed to a local SMPP user account, so that they are also routed to 2-way command processing.  This setting would be used when an installation needs to process all delivery receipts via a 2-way command.  To enable this option, edit SMSGW.INI, and under the [SMSGW] header, add DuplicateUserReceiptsFor2Way=Yes.</li>
<li>SMPP Server:  Fix for a change first introduced in 2010-05-20 version which could cause extra null messages to be delivered to connected SMPP clients.  This problem could only potentially occur if a client had multiple receive (or transceive) connections open to the NowSMS SMPP server.</li>
<li>Web Interface:  Fix for problem introduced in 2010.11.04 version where the web interface was not working properly with Firefox.</li>
</ul>
<p><strong>MMSC Updates:</strong></p>
<ul>
<li>MMSC:  Fix for problem where the message ID in a delivery receipt was not formatted correctly (“/” characters changed to “.”) for delivery receipts that arrived via an MM4 connection.  This prevented sending clients from being able to correctly resolve delivery receipts.  (For additional information, see http://www.nowsms.com/discus/messages/485/60287.html.)</li>
<li>MMSC:  Change MM7 transaction ID format to not include @ character, due to suspcion that this was causing a problem for a particular provider.</li>
</ul>
<p><strong>MMS Gateway Updates:</strong></p>
<ul>
<li>MMSC: Fix for problem in a multiple server installation (SHAREDVOLUME.INI) where only one front-end would actively listen for connections for MMS messages converted to SMS.</li>
<li>MM7:  When AllowAlphaRecip=Yes is enabled, use &lt;Number&gt; instead of &lt;ShortCode&gt; for the recipient address type, even if it is not a number.</li>
<li>MMS via GPRS Modem:  Fix for problem introduced in 2010.11.04 version where MMS messages would not be retrieved from some operator MMSCs, particularly T-Mobile USA.</li>
<li>MM7:  Don&#8217;t add extra CRLF before closing MIME boundary as this might be confusing some Java libraries.</li>
<li>Web Interface:  Fix for problem sending pre-compiled MMS messages via the &#8220;Send MMS Message&#8221; web interface that could cause these messages to become corrupted.</li>
</ul>
<p><strong>Other Updates:</strong></p>
<ul>
<li>Configuration program opens LOG files using the default program for the .LOG extension instead of always using Notepad.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.nowsms.com/nowsms-update-2011-03-21/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Basic MMS SMIL Tutorial</title>
		<link>http://www.nowsms.com/mms-smil-tutorial</link>
		<comments>http://www.nowsms.com/mms-smil-tutorial#comments</comments>
		<pubDate>Thu, 10 Mar 2011 15:00:54 +0000</pubDate>
		<dc:creator>brett</dc:creator>
				<category><![CDATA[Support Blog]]></category>
		<category><![CDATA[Sending MMS]]></category>
		<category><![CDATA[SMIL]]></category>

		<guid isPermaLink="false">http://www.nowsms.com/?p=13127</guid>
		<description><![CDATA[A recent thread on the NowSMS discussion board made my head hurt:  MMS: first shows a picture and then the text It started off simple enough. If you send an MMS message using the simple web form in NowSMS, and you include some text and an image, the resulting message displays the text first and [...]]]></description>
				<content:encoded><![CDATA[<p>A recent thread on the NowSMS discussion board made my head hurt:  <a href="http://www.nowsms.com/discus/messages/1/69949.html">MMS: first shows a picture and then the text</a></p>
<p>It started off simple enough.</p>
<p>If you send an MMS message using the simple web form in NowSMS, and you include some text and an image, the resulting message displays the text first and then the image.</p>
<p>What if you want the image displayed first and then the text?</p>
<p>Or what if you want the text to be displayed as a caption under the image, on the same page, instead of on a separate page?</p>
<p>The first scenario is simple to address.  The second scenario is where you may require an aspirin.</p>
<p>Des did an excellent job of addressing the scenario of displaying the image first, and then the text:</p>
<blockquote><p>NowSMS inserts objects in the order that they are presented.</p>
<p>Instead of using the text object, put the text in a file and attach that file after the image.</p>
<p>If you want more full control, you need to create your own SMIL and include it as one of the objects (use a .smil file extension).</p>
<p>If no SMIL is included, NowSMS auto generates some simple SMIL that presents one object per page in the order in which the objects were attached.</p></blockquote>
<p>If only Des didn&#8217;t mention SMIL.  He could have left the answer simple and moved on to another question.</p>
<p>But that is not our way.</p>
<p>So what exactly is SMIL?</p>
<p>SMIL is a presentation language that is used to configure how an MMS message is displayed, similar to how HTML is a presentation language that is used to configure how information on a web page is to be displayed.</p>
<p>However, while HTML is a very powerful and flexible presentation markup language, SMIL is a very simplistic and limited presentation markup language.  And MMS SMIL, which is a subset of Basic SMIL, which is a subset of SMIL, is even more limited still.</p>
<p>I like to think of SMIL as a simple presentation language for slide show presentations.  SMIL organizes the slides, or pages, of an MMS message presentation.  Sort of like PowerPoint, but again, much more limited.</p>
<p>Have I emphasized enough that SMIL, especially MMS SMIL, is very limited?  So don&#8217;t expect to wow your audience with complex charts and graphics.</p>
<p>Before we dive further into SMIL, let&#8217;s backup and look at what an MMS message is.</p>
<p>An MMS message is very similar to an e-mail message, in many ways you can think of MMS as an e-mail system designed for mobile phone networks.  (Looking for more information on the transport level implementation?  If so, see our article <a href="http://www.nowsms.com/faq/how-mms-works">How MMS Works</a>).</p>
<p>Like an e-mail message, an MMS message has a header that contains information such as who the message is &#8220;From&#8221; and who it is &#8220;To&#8221;, along with a &#8220;Subject&#8221;.</p>
<p>The content of an MMS message is a collection of one or more multimedia objects, such as text, image, video and audio.  MMS messages can also contain other objects such as address cards (vCards), calendar appointments (vCal), Java applications, and more, if supported by the MMS client on the mobile phone.  But for the most part you are dealing with one or more text, image, video and/or audio objects.</p>
<p>If you think of an e-mail message, you think of a text object, along with zero or more attachments.</p>
<p>Or, a more modern e-mail message might be HTML formatted, so that the multimedia objects are automatically displayed when the e-mail message is opened.</p>
<p>Similar to HTML being used in an e-mail message, an MMS message should always have a SMIL presentation part which determines how the MMS message is displayed.  (If a SMIL presentation is not included in an MMS message, many operator MMS systems will automatically generate SMIL and add it to the message before it is received by the recipient.)</p>
<p>When included in an MMS message, a SMIL presentation becomes one of the objects within an MMS message.  A typical MMS message that contains text and an image would have three objects contained in the MMS message, a SMIL object, a text object and an image object.</p>
<p>Let&#8217;s stop using the word object.  When building an MMS message, an object is a file.  So our typical MMS message with text and an image has three separate files that are the content of the MMS message, a SMIL file, a text file and an image file (e.g., PNG, JPEG, GIF).</p>
<p>One important conceptual difference between SMIL and HTML is that there is no in-line text within a SMIL presentation.  If you want to include text in a SMIL presentation, you include a reference to a separate text object/file.</p>
<p>Another important conceptual difference is that you have to consider the relatively small screen of most devices that will be receiving MMS messages.</p>
<p>For all practical purposes, you should not include more than one of the same type of object in a single page (slide) of the SMIL presentation.  This means more than one image on a page is generally not recommended because of the limitations of most devices.  More than one text object on a page is also not recommended.</p>
<p>The <a href="http://openmobilealliance.org/Technical/release_program/mms_v1_2.aspx">MMS Conformance Document</a> from the <a href="http://openmobilealliance.org">Open Mobile Alliance</a> goes into more detail.  Basically each page of a SMIL presentation can have no more than two regions, an image region and a text region.  The image region can have a single image or a video.  The text region can have a single text object.  An audio object can play while the page is being displayed.</p>
<p>That&#8217;s really all there is to it.  Full SMIL has capabilities like setting text and background colors, however the subset that is MMS SMIL, as defined in the MMS Conformance Document, does not include those attributes.</p>
<p>Let&#8217;s go back to our original scenario, sending an MMS message that includes text and an image.</p>
<p>The <a href="http://www.nowsms.com/doc/web-menu-interface/send-mms-message">Send MMS Message</a> web form (and the <a href="http://www.nowsms.com/doc/submitting-mms-messages/now-smsmms-proprietary-url-submission">NowSMS Proprietary URL API</a>) include a single text field and zero or more files to include in the message.</p>
<p>When NowSMS processes the web form, if a text field is present, NowSMS automatically converts the text field into a text file to be included as the first object in the MMS message.</p>
<p>If a SMIL file is not included among the files to be included in the message, NowSMS automatically generates one.</p>
<p>For the widest compatibility with different devices, the default SMIL that NowSMS generates has one object per page.  If the text field was used in the submission, it becomes the first page.  Other pages are generated based upon the order in which objects were included in the submission.</p>
<p>The default NowSMS SMIL will typically look like this:</p>
<pre class="notranslate" style="line-height: 12px;">&lt;smil&gt;
&lt;head&gt;
&lt;layout&gt;
&lt;region id="Image" height="100%" width="100%" fit="meet"/&gt;
&lt;region id="Text" height="100%" width="100%" fit="scroll"/&gt;
&lt;/layout&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;par dur="3s"&gt;
&lt;text src="filename.txt" region="Text"/&gt;
&lt;/par&gt;
&lt;par dur="5s"&gt;
&lt;img src="image.jpg" region="Image"/&gt;
&lt;/par&gt;
&lt;/body&gt;
&lt;/smil&gt;</pre>
<p>The start of the SMIL is a header and opening for the body section:</p>
<pre class="notranslate" style="line-height: 12px;">&lt;smil&gt;
&lt;head&gt;
&lt;layout&gt;
&lt;region id="Image" height="100%" width="100%" fit="meet"/&gt;
&lt;region id="Text" height="100%" width="100%" fit="scroll"/&gt;
&lt;/layout&gt;
&lt;/head&gt;
&lt;body&gt;</pre>
<p>The layout section defines two regions, as instructed by the MMS Conformance Document.  For simplicity, NowSMS automatically generated SMIL says that either section can take up the entire height and width of the page.  Images are scaled to &#8220;meet&#8221; the size of the screen, while text is allowed to &#8220;scroll&#8221; if it is too large.</p>
<p>More complex region layouts can be designed, but the MMS Conformance Document states that an MMS Client may choose to replace the layout section with its own terminal specific layout, so we have yet to see the point of such an effort.</p>
<p>Each page of the SMIL presentation is represented by a &lt;par&gt; section:</p>
<pre class="notranslate" style="line-height: 12px;">&lt;par dur="3s"&gt;
&lt;text src="filename.txt" region="Text"/&gt;
&lt;/par&gt;

&lt;par dur="5s"&gt;
&lt;img src="image.jpg" region="Image"/&gt;
&lt;/par&gt;</pre>
<p>text, img, video and audio tags with a src parameter define objects that appear in the MMS message. You&#8217;ll see text and img tags in the above example. The src parameter of one of these object tags refers to another content object/filename that is included in the message.  Unlike HTML format e-mails, you cannot reference content by an external HTTP link.  Any content referenced by your SMIL must be a file that is included in the MMS message content.</p>
<p>The &#8220;dur&#8221; parameter for the &lt;par&gt; element specfies how long a particular slide is displayed.</p>
<p>In this example, the text that was submitted as part of this MMS message was included in a text file named filename.txt.  The image was an image file named image.jpg.</p>
<p>When submitting files to be included in an MMS message with NowSMS it is important to use common filename extensions such as .txt and .jpg.  This is because when NowSMS packages the files into an MMS message, NowSMS needs to specify the MIME content type of the files.  NowSMS uses the filename extension to MIME content type mappings defined in the MMSCTYPE.INI file that is in the NowSMS program directory.</p>
<p>Finally, the SMIL is concluded with tags to close the presentation:</p>
<pre class="notranslate" style="line-height: 12px;">&lt;/body&gt;
&lt;/smil&gt;</pre>
<p>It is easy to override the automatically generated SMIL by creating your own SMIL. You then include this SMIL as one of the content objects in your MMS message. (Again filename extensions are important &#8230;. be sure to give the file a &#8220;.smil&#8221; file extension, so that NowSMS will recognise it as such.)  All &#8220;src=&#8221; references within your SMIL should be for filenames of other files that are being included in the MMS message.</p>
<p>For example, to have the image and text display on a single page, you could do make this change:</p>
<pre class="notranslate" style="line-height: 12px;">&lt;smil&gt;
&lt;head&gt;
&lt;layout&gt;
&lt;region id="Image" height="100%" width="100%" fit="meet"/&gt;
&lt;region id="Text" height="100%" width="100%" fit="scroll"/&gt;
&lt;/layout&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;par dur="5s"&gt;
&lt;text src="filename.txt" region="Text"/&gt;
&lt;img src="image.jpg" region="Image"/&gt;
&lt;/par&gt;
&lt;/body&gt;
&lt;/smil&gt;</pre>
<p>When submitting the MMS message, you would need to include the SMIL file, along with filename.txt and image.jpg.</p>
<p>You could also change the &#8220;%&#8221; of height for the text and image regions for best results, but be aware that a lot of MMS clients will ignore it.</p>
<p>Also note that when you generate your own SMIL, you should include any text objects as separate files, not using the &#8220;MMS Text&#8221; parameter of the NowSMS web interface. This is because NowSMS automatically converts the &#8220;MMS Text&#8221; into a file, but it generates a temporary name for the text file, so it is not possible to reference this text in your SMIL</p>
<p>There is more discussion back on the discussion board thread <a href="http://www.nowsms.com/discus/messages/1/69949.html">MMS: first shows a picture and then the text</a>, but hopefully this discussion is more digestable as a simple tutorial for creating your own SMIL in an MMS message.</p>
<p>For more information, I highly recommend referring to the MMS Conformance Document from the Open Mobile Alliance, which can be found at the following location:  <a href="http://openmobilealliance.org/Technical/release_program/mms_v1_2.aspx">http://openmobilealliance.org/Technical/release_program/mms_v1_2.aspx</a>.</p>
<p>The full SMIL 2.0 specification can be found at <a href="http://www.w3.org/TR/2005/REC-SMIL2-20050107/">http://www.w3.org/TR/2005/REC-SMIL2-20050107/</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.nowsms.com/mms-smil-tutorial/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>NowSMS and SSL Certificate Chains</title>
		<link>http://www.nowsms.com/nowsms-and-ssl-certificate-chains</link>
		<comments>http://www.nowsms.com/nowsms-and-ssl-certificate-chains#comments</comments>
		<pubDate>Tue, 08 Mar 2011 02:00:10 +0000</pubDate>
		<dc:creator>brett</dc:creator>
				<category><![CDATA[Support Blog]]></category>
		<category><![CDATA[SSL/TLS]]></category>

		<guid isPermaLink="false">http://www.nowsms.com/?p=13102</guid>
		<description><![CDATA[If you have purchased an SSL certificate from a certificate authority for use on a NowSMS server, you may encounter a problem with some browsers displaying a warning or refusing to accept the certificate.  This can occur when SSL certificates are not signed by a certificate authorities&#8217; root certificate, but by an intermediate certificate.  (This [...]]]></description>
				<content:encoded><![CDATA[<p>If you have purchased an SSL certificate from a certificate authority for use on a NowSMS server, you may encounter a problem with some browsers displaying a warning or refusing to accept the certificate.  This can occur when SSL certificates are not signed by a certificate authorities&#8217; root certificate, but by an intermediate certificate.  (This has been observed with certificates issued by GoDaddy, see <a href="http://www.nowsms.com/discus/messages/485/69992.html">http://www.nowsms.com/discus/messages/485/69992.html</a>.)</p>
<p>When a certificate is issued by a certificate authority by an intermediate certificate, it is necessary to install not just your certificate on the server, but additionally it is necessary to install the certificate chain for the CA&#8217;s intermediate certificate.  This certificate chain will be provided by the certificate authority along with your signed certificate.</p>
<p>At this time, an updated version of SMSSSL.DLL is required to support an SSL certificate chain.  An update can be downloaded at <a href="http://www.nowsms.com/download/smssslchain.zip">http://www.nowsms.com/download/smssslchain.zip</a>.  To install the update, stop the NowSMS services and exit the NowSMS program.  Next, update the SMSSSL.DLL file in Program Files (or Program Files (x86)) \ NowSMS with the version in this ZIP file.</p>
<p>Locate the directory that contains your SSL certificate request (SSL.CSR).  This is either the ProgramData\NowSMS directory (Windows 7/Vista/2008) or Program Files\NowSMS (XP/2003) directory.</p>
<p>Using a text editor, such as NOTEPAD.EXE, create or edit a file named SSL.CA, which is the filename designated to contain your signed SSL certificate.  Your signed certificate should be placed at the start of this file, including the &#8212;&#8211;BEGIN CERTIFICATE&#8212;&#8211; and &#8212;&#8211;END CERTIFICATE&#8212;&#8211; markers.  Following  your signed certificate, you should include any intermediate certificates in this same text file.  If there are multiple intermediate certificates, they should be ordered in the path from your server certificate toward the root CA certificate.</p>
<p>The NowSMS service must be restarted after updating an SSL certificate file in order for the new certificate to take effect.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.nowsms.com/nowsms-and-ssl-certificate-chains/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Migrating from another vendor&#8217;s MMSC</title>
		<link>http://www.nowsms.com/mmsc-migration</link>
		<comments>http://www.nowsms.com/mmsc-migration#comments</comments>
		<pubDate>Wed, 02 Mar 2011 15:54:02 +0000</pubDate>
		<dc:creator>brett</dc:creator>
				<category><![CDATA[Support Blog]]></category>
		<category><![CDATA[operator MMSC]]></category>

		<guid isPermaLink="false">http://www.nowsms.com/?p=13096</guid>
		<description><![CDATA[Customers frequently inquire about the complexity of migrating from an existing MMSC installation to NowSMS.  Is it possible to do this with minimal impact to their subscribers? In most cases, this is possible.  The NowSMS MMSC is designed with minimal administration requirements and automatic subscriber provisioning.  For a typical mobile operator configuration, subscribers are automatically [...]]]></description>
				<content:encoded><![CDATA[<p>Customers frequently inquire about the complexity of migrating from an existing MMSC installation to NowSMS.  Is it possible to do this with minimal impact to their subscribers?</p>
<p>In most cases, this is possible.  The NowSMS MMSC is designed with minimal administration requirements and automatic subscriber provisioning.  For a typical mobile operator configuration, <em>subscribers are automatically provisioned to the NowSMS MMSC the first time a user sends an MMS message</em>.   The following article explains how to configure this:  <a href="http://www.nowsms.com/nowsms-operator-mmsc-considerations">http://www.nowsms.com/nowsms-operator-mmsc-considerations</a></p>
<p>Automatic subscriber provisioning works great for a new MMSC installation, but what if you are replacing an existing MMSC that already has provisioned subscribers?</p>
<p>In some cases, it is not required that subscribers be provisioned on the NowSMS MMSC at all.  If the &#8220;<a href="http://www.nowsms.com/doc/mmsc-messaging-server/connecting-to-an-operator-mmsc/sending-mms-messages">Default Route</a>&#8221; for MMS message delivery, or an explicit route defined just for your subscribers, is configured as &#8220;<a href="http://www.nowsms.com/doc/mmsc-messaging-server/connecting-to-an-operator-mmsc/sending-mms-messages/direct-delivery">Direct Delivery</a>&#8220;, then the MMSC will deliver MMS messages to subscribers whether or not they have been provisioned.</p>
<p>The above approach is used by some smaller mobile operators, but most operators prefer to only deliver MMS messages to subscribers that have been provisioned.  In this case, non-provisioned subscribers receive MMS messages that have been converted into an SMS format with a web link for accessing the multimedia content.  Configuring this option is described in the following article:  <a href="http://www.nowsms.com/mms-conversion-to-sms-with-web-link">http://www.nowsms.com/mms-conversion-to-sms-with-web-link</a></p>
<p>In this case, you will want pre-provision your MMS subscribers in the NowSMS MMSC, so that they will receive MMS messages in normal MMS format, without the SMS conversion &#8230; and without requiring the subscribers to first send an MMS message to provision their account on the NowSMS MMSC.  There is an HTTP interface available for provisioning MMS subscribers which is described in the following article: <a href=" http://www.nowsms.com/provisioning-sms-and-mmsc-user-accounts-via-http"> http://www.nowsms.com/provisioning-sms-and-mmsc-user-accounts-via-http</a>.</p>
<p>There is an additional alternative that is useful for bulk MMS subscriber provisioning, which is the MMSUSER.EXE command line utility.  MMSUSER accepts a text file that has a list of subscriber phone numbers.  The format of this file should contain one subscriber phone number per line, prefixed by &#8220;A,&#8221; which indicates that the subscriber should be added (conversely &#8220;D,&#8221; means the subscriber should be deleted).  For example:</p>
<pre class="notranslate">A,+441111111111
A,+441111111112
A,+441111111113
A,+441111111114</pre>
<p>Assuming that the file containing the list of subscribers in this format is called subimport.txt, run the following command from a command line prompt in the Program Files\NowSMS directory:</p>
<pre class="notranslate">mmsuser -import subimport.txt</pre>
<p>Additional information of interest to customers planning or considering an MMSC migration/replacement:</p>
<ul>
<li><a href="http://www.nowsms.com/mmsc-accounting-callbacks-for-billing-and-charging">MMSC Accounting Callbacks for Billing and Charging</a></li>
<li><a href="http://www.nowsms.com/mmsc-mm4-interconnection-basics">MM4 Interconnection Basics for exchanging MMS with other mobile operators</a></li>
<li><a href="http://www.nowsms.com/mobile-number-portability-mnp-and-the-nowsms-mmsc">Mobile Number Portability (MNP) and the NowSMS MMSC</a></li>
<li><a href="http://www.nowsms.com/operator-mmsc-accounting-detecting-roaming-subscribers">Detecting Roaming Subscribers</a></li>
</ul>
<p>And for operators using CDMA based technologies, also see:</p>
<ul>
<li><a href="http://www.nowsms.com/using-nowsms-as-an-mmsc-in-cdma-or-cdma2000-environments">MMSC in CDMA and CDMA2000 Environments</a></li>
</ul>
<p>Another frequently asked question regards the role of the WAP Push Proxy Gateway (PPG).  The NowSMSC MMSC includes an integrated PPG that sends WAP Push messages using an SMS bearer, and there is not a requirement for a separate PPG.  However, for specialised configurations, it is possible to configure the NowSMS MMSC to use an external PPG, which is described in the following article:  <a href="http://www.nowsms.com/routing-mms-notifications-via-a-wap-push-proxy-gateway">http://www.nowsms.com/routing-mms-notifications-via-a-wap-push-proxy-gateway</a></p>
<p>It is also possible to use NowSMS as a PPG for other applications, as described in the following article:  <a href="http://www.nowsms.com/using-nowsms-as-a-wap-push-proxy-gateway-ppg">http://www.nowsms.com/using-nowsms-as-a-wap-push-proxy-gateway-ppg</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.nowsms.com/mmsc-migration/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>NowWAP and HTTP Header Enrichment (HHE)</title>
		<link>http://www.nowsms.com/nowwap-and-http-header-enrichment</link>
		<comments>http://www.nowsms.com/nowwap-and-http-header-enrichment#comments</comments>
		<pubDate>Wed, 23 Feb 2011 06:00:30 +0000</pubDate>
		<dc:creator>bryce</dc:creator>
				<category><![CDATA[Support Blog]]></category>
		<category><![CDATA[HTTP Header Enrichment]]></category>
		<category><![CDATA[NowWAP]]></category>
		<category><![CDATA[WAP Gateway]]></category>
		<category><![CDATA[WAP Proxy]]></category>

		<guid isPermaLink="false">http://www.nowsms.com/?p=13072</guid>
		<description><![CDATA[The HTTP Header Enrichment (HHE) capability provides solutions for a content provider to identify a subscriber. Basic HHE allows the subscriber to be identified by their MSISDN. Aliased HHE allows the subscriber to be identified without divulging the subscriber&#8217;s MSISDN. A standard feature of the NowWAP Proxy is to provide Basic HTTP Header Enrichment to [...]]]></description>
				<content:encoded><![CDATA[<p><span style="font-family: Arial, sans-serif;">The HTTP Header Enrichment (HHE) capability provides solutions for a content provider to identify a subscriber</span><span style="font-family: Arial, sans-serif;">.</span></p>
<p><span style="font-family: Arial, sans-serif;"><strong><em>Basic HHE allows the subscriber to be identified by their MSISDN.</em></strong></span></p>
<p><span style="font-family: Arial, sans-serif;"><strong> Aliased HHE allows the subscriber to be identified without divulging the subscriber&#8217;s MSISDN.</strong></span></p>
<p><span style="font-family: Arial, sans-serif;">A standard feature of the NowWAP Proxy is to provide Basic HTTP Header Enrichment to facilitate operator billing for HTTP based services, including Multimedia Messaging Services (MMS).</span></p>
<p><span style="font-family: Arial, sans-serif;">Basic HHE is enabled for all subscriber HTTP transactions that  are forwarded to a configurable list of content provider hosts and/or domains (most frequently these are hosts within the operator domain, such as the operator MMSC). Depending on the information available from the RADIUS accounting feed, this basic information can include the subscriber MSISDN, SGSN IP Address, SGSN MCC &amp; MNC (useful for determining if the client is currently roaming), client IP address (useful for identifying which operator APN was accessed), IMSI, and radio access type (4G, 3G or 2.5G) .</span></p>
<p><span style="font-family: Arial, sans-serif;">Basic HHE can result in the following HTTP headers being inserted:</span></p>
<p><span style="font-family: 'Courier New', monospace;" class="notranslate"><span style="font-size: small;">X-MSISDN: xxxxxxxxxxxxxxxxx<br />
X-WAP-3GPP-SGSN-MCC-MNC: xxxxx<br />
X-WAP-3GPP-SGSN-ADDRESS: 1.2.3.4<br />
X-WAP-3GPP-IMSI: xxxxxxxxxxxxxx<br />
X-WAP-3GPP-RAT-TYPE: 1 or 2 (1 = 3G, 2 = EDGE/GPRS) X-WAP-Client-IP: 7.8.9.0</span></span></p>
<p><span style="font-family: Arial, sans-serif;">The list of content provider hosts and/or domains that receive this basic HHE is configurable. Host names can be listed here explicitly, such as mmsc.operator.com, or all hosts within a particular domain can be included by adding the domain name to the list prefaced with a “.”, fo</span><span style="font-family: Arial, sans-serif;">r example .operator.com means that all hosts within the operator.com domain would receive basic HHE (for example, both www.operator.com and mmsc.operator.com).</span></p>
<p><span style="font-family: Arial, sans-serif;"> </span></p>
<p><a href="http://images.nowsms.com/2011/02/hhebasic.png"><img class="alignnone size-full wp-image-13083" title="Basic HHE" src="http://images.nowsms.com/2011/02/hhebasic.png" alt="Basic HHE" width="456" height="521" /></a></p>
<p><span style="font-family: Arial, sans-serif;">In many instances, it is useful to provide similar identifying information to content provider partners, but without divulging the subscriber MSISDN.  A new feature of the NowWAP Proxy 2011 release is to provide Aliased HTTP Header Enrichment to meet this need.</span></p>
<p><span style="font-family: Arial, sans-serif;">Content provider hosts and domains that are to receive Aliased HHE are configured with a list that is similar, but separate from, the existing Basic HHE content provider domain/host list that is configured on the “MSISDN” page of the NowWAP configuration program.</span></p>
<p><span style="font-family: Arial, sans-serif;">NowWAP does not directly generate the Aliased HHE. Instead, it provides an HTTP callback interface to allow the customer to generate customized Aliased HHE that is appropriate for the target operator environment.</span></p>
<p><span style="font-family: Arial, sans-serif;">A customer-defined Aliased HHE callback interface is defined to NowWAP by adding the following configuration setting to the [WAPGW]  header of WAPGW.INI:  HHECallbackURL=http://server/path</span></p>
<p><span style="font-family: Arial, sans-serif;">When the HHE callback is configured in NowWAP, each time NowWAP receives a RADIUS notification of a new user connecting, NowWAP will make an HTTP GET request to the HHE callback to request HHE/alias information for the user account.</span></p>
<p><span style="font-family: Arial, sans-serif;">The HHE callback request will include MSISDN, and other RADIUS information, if available. </span></p>
<p><span style="font-family: Arial, sans-serif;">Example:</span></p>
<p><span style="font-family: Arial, sans-serif;"><br />
</span><span style="font-family: 'Courier New', monospace;" class="notranslate"><span style="font-size: small;">http://server/path?PhoneNumber=xxxx<br />
&amp;UserName=xxxxx<br />
&amp;AssignedIP=a.b.c.d<br />
&amp;3GPP-SGSN-MCC-MNC=xxxxx<br />
&amp;3GPP-SGSN-ADDRESS=xx<br />
&amp;3GPP-IMSI=xxxxxxxxxxxxxxx<br />
&amp;3GPP-RAT-TYPE=x</span></span></p>
<p><span style="font-family: Arial, sans-serif;">(Line breaks have been inserted in the URL above for readability only.  There are no line breaks in the actual HHE callback URL.)</span></p>
<p><span style="font-family: Arial, sans-serif;">The <span class="notranslate">&#8220;PhoneNumber&#8221;</span> (MSISDN) and &#8220;AssignedIP&#8221; (X-WAP-Client-IP) parameters will always be present.  The 3GPP parameters would be present only if they were presented to NowWAP by the RADIUS feed.</span></p>
<p><span style="font-family: Arial, sans-serif;">The HHE callback response should be a text response containing enriched HTTP headers to be included in all requests that are processed on behalf of this device.  Example:</span></p>
<p><span style="font-family: 'Courier New', monospace;" class="notranslate"><span style="font-size: small;">HTTP/1.1 200 OK<br />
Content-Type: text/plain</span></span></p>
<p><span style="font-family: 'Courier New', monospace;" class="notranslate"><span style="font-size: small;">X-MSISDN-Alias: xxxxxxxxxxxxxxxxxxxxx<br />
X-HHE-Extra-Info: xxxxxxxxxxxxxxxxxxxxx</span></span></p>
<p><span style="font-family: Arial, sans-serif;">As NowWAP processes subsequent requests, if the request is directed to a content domain that receives Aliased HHE, these headers would be included in the HTTP request  that is forwarded to the content provider.  (Basic HHE would not be forwarded to these content providers.)</span></p>
<p><span style="font-family: Arial, sans-serif;">The list of content domains to receive Aliased HHE is defined in the WAPGW.INI file, under the [WAPGW] header, using keyword value pairs of the following format:</span></p>
<p><span style="font-family: Arial, sans-serif;">IncludeHHEForDomain1=.domain1.name<br />
IncludeHHEForDomain2=host.domain2.name<br />
IncludeHHEForDomain3=host.domain3.name</span></p>
<p><span style="font-family: Arial, sans-serif;">Host names can be listed explicitly, such as www.contentprovider.com, or all hosts within a particular domain can be included by adding the domain name to the list prefaced with a “.”, for example .contentprovider.com means that all hosts within the contentprovider.com domain would receive aliased HHE (for example, both www.contentprovider.com and www2.contentprovider.com).</span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.nowsms.com/nowwap-and-http-header-enrichment/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Send SMS from PHP Script (Updated)</title>
		<link>http://www.nowsms.com/send-sms-from-php-script-updated</link>
		<comments>http://www.nowsms.com/send-sms-from-php-script-updated#comments</comments>
		<pubDate>Tue, 25 Jan 2011 20:27:42 +0000</pubDate>
		<dc:creator>brett</dc:creator>
				<category><![CDATA[Support Blog]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[sendsms.php]]></category>

		<guid isPermaLink="false">http://www.nowsms.com/?p=13053</guid>
		<description><![CDATA[Quite a few people use the PHP script that Bryce provided 7-1/2 years ago for sending an SMS message through NowSMS from PHP. Over the years, we&#8217;ve added a few comments to clarify how the script is to be used.  However, one of the most limiting things about the script is that it doesn&#8217;t support [...]]]></description>
				<content:encoded><![CDATA[<p>Quite a few people use the PHP script that Bryce provided 7-1/2 years ago for <a href="http://www.nowsms.com/discus/messages/1/867.html">sending an SMS message through NowSMS from PHP</a>.</p>
<p>Over the years, we&#8217;ve added a few comments to clarify how the script is to be used.  However, one of the most limiting things about the script is that it doesn&#8217;t support any of the additional <a href="http://www.nowsms.com/doc/submitting-sms-messages/url-parameters">SMS URL parameters</a> supported by NowSMS.</p>
<p>Among other uses, these parameters might be needed in order to <a href="http://www.nowsms.com/doc/configuring-smsc-connections/sms-message-routing-logic">specify the SMSC Route to be used for sending the message</a>, or specifying a sender address.</p>
<p>An updated SendSMS.php script, which supports additional URL parameters is available at <a href="http://www.nowsms.com/download/sendsms2-php.txt">http://www.nowsms.com/download/sendsms2-php.txt</a>.</p>
<p>In the original script, we provided the following example for calling the SendSMS PHP function:</p>
<pre class="notranslate">$x   = SendSMS("127.0.0.1", 8800, "username", "password", "+44999999999", "Test Message");</pre>
<p>The new script supports the above format, but can also support additional optional parameters, specified in &#8220;parameter=value&#8221; format.  For example, the following example specifies an explicit outbound SMSC route and a sender address to be used.</p>
<pre class="notranslate">$x   = SendSMS("127.0.0.1", 8800, "username", "password", "+44999999999", "Test Message",
 "SMSC<span class="notranslate">Route=</span>Test", "Sender=1234");</pre>
<p>For additional usage information regarding this PHP script, please refer to the original discussion of sendsms.php at <a href="http://www.nowsms.com/nowsms-php-example-send-sms-text-message">http://www.nowsms.com/nowsms-php-example-send-sms-text-message</a>.</p>
<p>For more information about NowSMS URL parameters, see <a href="http://www.nowsms.com/doc/submitting-sms-messages/url-parameters">http://www.nowsms.com/doc/submitting-sms-messages/url-parameters</a>.</p>
<p>The updated SendSMS.php script is available at <a href="http://www.nowsms.com/download/sendsms2-php.txt">http://www.nowsms.com/download/sendsms2-php.txt</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.nowsms.com/send-sms-from-php-script-updated/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>iPhone MMS Message Send Failure on GPRS and EDGE</title>
		<link>http://www.nowsms.com/iphone-mms-message-send-failure-on-gprs-and-edge</link>
		<comments>http://www.nowsms.com/iphone-mms-message-send-failure-on-gprs-and-edge#comments</comments>
		<pubDate>Wed, 12 Jan 2011 22:31:48 +0000</pubDate>
		<dc:creator>brett</dc:creator>
				<category><![CDATA[Support Blog]]></category>
		<category><![CDATA[accounting callbacks]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[operator MMSC]]></category>

		<guid isPermaLink="false">http://www.nowsms.com/?p=13039</guid>
		<description><![CDATA[We&#8217;ve recently investigated a problem reported by a NowSMS MMSC customer where iPhone 4 users were reporting a high volume of failed MMS message sending. Our investigation suggests that this problem is related to a software issue in the iPhone MMS client, when operating outside of 3G coverage.  There is no problem in the operation [...]]]></description>
				<content:encoded><![CDATA[<p>We&#8217;ve recently investigated a problem reported by a NowSMS MMSC customer where iPhone 4 users were reporting a high volume of failed MMS message sending.</p>
<p>Our investigation suggests that this problem is related to a software issue in the iPhone MMS client, when operating outside of 3G coverage.  There is no problem in the operation of either the <a href="http://www.nowsms.com/productinfo/now-wap-gateway">NowWAP Gateway</a> or the <a href="http://www.nowsms.com/productinfo/mmsc">NowSMS MMSC</a>.</p>
<p>(Note:  Problems with accounting callbacks and routing callbacks in the NowSMS MMSC can cause similar sporadic problems if the web server hosting the callbacks has problems with HTTP Keep-Alive sockets.  To rule out this being a problem, we recommend editing MMSC.INI, and under the [MMSC] header, add RoutingKeepAlive<span class="notranslate">=No</span> and AccountingKeepAlive<span class="notranslate">=No</span>.)</p>
<p>The iPhone appears to have an overall maximum timeout for sending an MMS message.  If it cannot send the entire content of the MMS message within this timeout period, it aborts the attempt and returns an error indication to the sender.   It is unclear exactly how the iPhone determinates this timeout value, as our tests suggest that it is somewhat variable and ranges between 2-1/2 and 3-1/2 minutes.</p>
<p>If an MMS message cannot be transmitted within this timeout period, the iPhone gives up, and automatically initiates a second attempt, and if that attempt fails with a similar timeout error, it returns the dreaded red &#8220;!&#8221; to indicate that the message sending failed.  If this type of timeout error has occurred, the red &#8220;!&#8221; will be returned after 5 to 7 minutes.<br />
<a href="http://images.nowsms.com/2011/01/iphonemmsfail.png"><img class="alignleft size-medium wp-image-13040" title="iphonemmsfail" src="http://images.nowsms.com/2011/01/iphonemmsfail-200x300.png" alt="iPhone MMS Sending Failure" width="200" height="300" /></a>This problem is not likely to occur in 3G or HSPA coverage areas, but is more likely to happen in 2.5G coverage areas, especially areas that only have GPRS, but not EDGE, or areas with weaker signal strength, because the data upload speeds are slower, and it takes longer to transmit a message.</p>
<p>It appears that iOS 4.x will generally try to send larger image sizes in MMS messages than previous releases.  During testing, we found that one of the test images that we were sending, taken with the iPhone 4 camera, was 950KB in size.   <strong><em>In order to send a 950KB message in 2 minutes or less, the network must be able to provide an average upload speed of 80 Kbps, which is possible with a strong EDGE class 10 connection (max possible upload speed is 118Kbps), but not with GPRS (max possible upload speed is 40Kbps)</em></strong>.</p>
<p>Note:  When the iPhone is connected with EDGE, it should &#8220;E&#8221; next to the operator name, instead of &#8220;3G&#8221;.   If the phone is connected with GPRS only, a dot is shown instead.</p>
<p>Depending on operator configuration, the iPhone advertises itself to the MMSC as supporting a maximum message size of 1MB (UAProf = <a href="http://www.apple.com/mms/uaprof.rdf">http://www.apple.com/mms/uaprof.rdf</a>) or 2MB (UAProf = <a href="http://iphonemms.apple.com/iphone/uaprof-2MB.rdf">http://iphonemms.apple.com/iphone/uaprof-2MB.rdf</a>)</p>
<p>To rule out any issues potentially related to either NowWAP or the NowSMS MMSC, these same timeout values were observed testing standard issue operator locked iPhones on O2 in the UK and AT&amp;T in the USA with 3G mode disabled on the phone.</p>
<p>Note that in jailbroken iPhones, it is possible to configure a &#8220;MMS Max Message Size&#8221; in the &#8220;Cellular Data Network&#8221; settings.  We experimented with lowering this value, however it appeared that when this value was lowered, if a message was going to exceed this size value, the iPhone would quickly fail the message with a red &#8220;!&#8221;, without actually attempting to send the message.  (Based upon these brief tests, it is not clear what algorithm the iPhone uses to scale down a picture before sending, as the 950KB picture that we referenced above actually has a native size of 2.7MB, and was taken with HDR enabled.)</p>
<p>The bottom line appears to be that sending pictures via MMS will frequently fail if the iPhone 4 is operating in a 2.5G (&#8220;E&#8221; for EDGE or a dot for GPRS) environments.  The problem is due to a sending timeout implemented in the MMS client software in the device.  This problem can only be resolved by changing this timeout in the MMS client software implementation, or changing the MMS client to have an option to send lower resolution pictures when operating in 2.5G environments.  There does not appear to be any solution that can be implemented on the mobile operator side.<br />
<em></em></p>
<p><em><strong>To avoid frustration, it is recommended that users avoid sending picture or video messages when operating outside of a 3G coverage area.</strong></em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.nowsms.com/iphone-mms-message-send-failure-on-gprs-and-edge/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Shift Tables &#8211; National Language SMS in 160 characters without Unicode</title>
		<link>http://www.nowsms.com/shift-tables-national-language-sms-in-160-characters-without-unicode</link>
		<comments>http://www.nowsms.com/shift-tables-national-language-sms-in-160-characters-without-unicode#comments</comments>
		<pubDate>Thu, 09 Dec 2010 09:00:05 +0000</pubDate>
		<dc:creator>brett</dc:creator>
				<category><![CDATA[Support Blog]]></category>
		<category><![CDATA[160 characters]]></category>
		<category><![CDATA[long SMS]]></category>
		<category><![CDATA[SMS shift table]]></category>
		<category><![CDATA[Unicode]]></category>

		<guid isPermaLink="false">http://www.nowsms.com/?p=7499</guid>
		<description><![CDATA[The fact that messages that contain characters outside of the GSM character set require Unicode encoding and are limited to 70 characters per message instead of the expected 160 character limit, is a frustrating limitation for many languages. Messages longer than 70 characters can, of course, be sent, but they are sent as multipart (segmented) messages, [...]]]></description>
				<content:encoded><![CDATA[<p>The fact that messages that contain characters outside of the <a href="http://www.nowsms.com/long-sms-text-messages-and-the-160-character-limit">GSM character set</a> require Unicode encoding and are limited to 70 characters per message instead of the expected 160 character limit, is a frustrating limitation for many languages.</p>
<p>Messages longer than 70 characters can, of course, be sent, but they are sent as multipart (segmented) messages, and reassembled by the receiving client.  If a message that contains Unicode characters is longer than 70 characters, it is broken into segments of 67 characters for sending.  To send a 160 character message requires 3 SMS messages if the message contains characters that are not part of the GSM character set.</p>
<p>The original GSM protocol was developed in Western Europe, so it includes most Western European characters, plus capital letters in the Greek alphabet in order to facilitate Greek SMS support.  You can view a table of characters in the GSM character set at the following link:  <a href="http://www.nowsms.com/long-sms-text-messages-and-the-160-character-limit">http://www.nowsms.com/long-sms-text-messages-and-the-160-character-limit</a></p>
<p>A recent posting on the NowSMS Technical Forums discusses recent developments in the 3GPP specifications to add additional national language support to the SMS standard, and eventually overcome these limitations.  For additional discussion of this topic, we recommend joining the discussion at <a href="http://www.nowsms.com/discus/messages/1/69650.html">http://www.nowsms.com/discus/messages/1/69650.html</a>.   The start of this discussion is highlighted below.</p>
<p><strong>Question:</strong></p>
<p><em>I have a question about sending SMS messages using Turkish national characters. Specifically, these characters are a problem:</em></p>
<p><em>Ğ, ğ, Ş, ş, İ, ı, ç (upper case Ç is ok?)</em></p>
<p><em>I can send messages that contain these characters ok, but NowSMS encodes the messages with Unicode. This means if I send a message longer than 70 characters, it costs me to send two or more messages &#8230; instead of normal 160 character limit.</em></p>
<p><em>But in Turkey I have heard that there is a way to send these national characters without forcing the whole message to use Unicode encoding. I do not know how it works, but I have heard that this feature is called a locking shift table. Instead of the standard GSM 7-bit character table, mobile phones in Turkey must support a locking shift table that replaces the GSM characters with national characters for Turkey.</em></p>
<p><em>Can NowSMS support this SMS locking shift table?</em></p>
<p><strong>Response:</strong></p>
<p><em>The fact that messages that contain characters outside of the <a href="http://www.nowsms.com/long-sms-text-messages-and-the-160-character-limit">GSM character set</a> require Unicode encoding and are limited to 70 characters per message instead of the expected 160 character limit, is indeed frustrating for many languages.</em></p>
<p><em> </em></p>
<p>The shift tables that you mention are a relatively new development. There is a concept of a locking shift table that replaces the GSM 7-bit character set, and a single shift table which provides additional characters.</p>
<p>You are correct that these shift tables can replace and extend the default GSM 7-bit character set table so that more national characters can fit into a single SMS.</p>
<p>We&#8217;ve received a number of inquiries from handset testing labs about them, but I&#8217;m not sure that they are used in production systems. (Perhaps they are in active use in Turkey as I can see that there was national legislation there that prompted the 3GPP to develop a solution.)</p>
<p>In addition to Turkey, there are shift tables defined for the Spanish and Portuguese languages. These were all added in 3GPP release 8 (3GPP TS <a href="http://www.3gpp.org/ftp/specs/archive/23_series/23.038/">23.038</a> and <a href="http://www.3gpp.org/ftp/specs/archive/23_series/23.040/">23.040</a>), which only started being released in 2008.</p>
<p>The Spanish shift table adds ç, Á, Í, Ó, Ú, á, í, ó, and ú.</p>
<p>The Portuguese shift tables add support for the following national language characters: Á À Â Ã ª á à â ã É Ê é ê Í í Ó Ô Õ º ó ô õ Ú Ü ú ü ` ç ∞</p>
<p>3GPP Release 9 adds 10 shift tables for languages of the Indian subcontinent: Bengali, Gujarati, Hindi, Kannada, Malayalam, Oriya, Punjabi, Tamil , Telugu, and Urdu.</p>
<p><strong><em>Update:  Shift table support is now available in NowSMS.  Additional information and discussion is available at the following link:  <a href="http://www.nowsms.com/discus/messages/1/70000.html">http://www.nowsms.com/discus/messages/1/70000.html</a>.</em></strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.nowsms.com/shift-tables-national-language-sms-in-160-characters-without-unicode/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Update Patch &#8211; 2010.11.26</title>
		<link>http://www.nowsms.com/update-patch-2010-11-26</link>
		<comments>http://www.nowsms.com/update-patch-2010-11-26#comments</comments>
		<pubDate>Mon, 29 Nov 2010 20:41:14 +0000</pubDate>
		<dc:creator>brett</dc:creator>
				<category><![CDATA[Software Updates]]></category>

		<guid isPermaLink="false">http://www.nowsms.com/?p=4061</guid>
		<description><![CDATA[An update patch release of the Now SMS &#38; MMS Gateway is now available for download at http://www.nowsms.com/download/nowsms20101126.zip.  This ZIP file contains an EXE file that can be used to install the update. This release contains fixes for specific problems encountered by customers.  If you are not experiencing one of the following issues, version 2010.11.04 [...]]]></description>
				<content:encoded><![CDATA[<p>An update patch release of the Now SMS &amp; MMS Gateway is now available for download at <a href="http://www.nowsms.com/download/nowsms20101126.zip">http://www.nowsms.com/download/nowsms20101126.zip</a>.  This ZIP file contains an EXE file that can be used to install the update.</p>
<p>This release contains fixes for specific problems encountered by customers.  If you are not experiencing one of the following issues, version 2010.11.04 is recommended as the current update release (see <a href="http://www.nowsms.com/category/updates">http://www.nowsms.com/category/updates</a>).</p>
<p>The following issues are addressed by this update:</p>
<p>* MMSC:  Fix for problem where the message ID in a delivery receipt was not formatted correctly (&#8220;/&#8221; characters changed to &#8220;.&#8221;) for delivery receipts that arrived via an MM4 connection.  This prevented sending clients from being able to correctly resolve delivery receipts.  (For additional information, see <a href="http://www.nowsms.com/discus/messages/485/60287.html">http://www.nowsms.com/discus/messages/485/60287.html</a>.)</p>
<p>* SMS Gateway Web Admin Interface: Fix for web admin interface only sending the first 16KB when attempting to remotely download log files.  (For additional information, see <a href="http://www.nowsms.com/discus/messages/1/60254.html">http://www.nowsms.com/discus/messages/1/60254.html</a>.)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.nowsms.com/update-patch-2010-11-26/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WAP Gateway Blocks BlackBerry App World</title>
		<link>http://www.nowsms.com/wap-gateway-blocks-blackberry-app-world</link>
		<comments>http://www.nowsms.com/wap-gateway-blocks-blackberry-app-world#comments</comments>
		<pubDate>Fri, 19 Nov 2010 07:17:07 +0000</pubDate>
		<dc:creator>brett</dc:creator>
				<category><![CDATA[Support Blog]]></category>
		<category><![CDATA[NowWAP]]></category>
		<category><![CDATA[WAP Gateway]]></category>
		<category><![CDATA[WAP Proxy]]></category>

		<guid isPermaLink="false">http://www.nowsms.com/?p=1567</guid>
		<description><![CDATA[It has come to our attention that the default configuration setting for the NowWAP WAP Gateway blocks users from connecting to BlackBerry App World. The reason for this seems to be some unusual communication patterns between the handset and the App World server. The handset attempts to created a tunneled connection to the HTTP port [...]]]></description>
				<content:encoded><![CDATA[<p>It has come to our attention that the default configuration setting for the NowWAP WAP Gateway blocks users from connecting to BlackBerry App World.</p>
<p>The reason for this seems to be some unusual communication patterns between the handset and the App World server. The handset attempts to created a tunneled connection to the HTTP port (80) of the BlackBerry App World server.</p>
<p>Symptoms of the problem include numerous 403 errors for connections to appworld.blackberry.com:80, similar to the WAPGW-yyyymmdd.log entry below:</p>
<pre class="notranslate">10.3.4.63 50373060234 [26/Oct/2010:15:39:45 -0600] "CONNECT appworld.blackberry.com:80" 403 0 "" ""</pre>
<p>The default configuration of NowWAP only allows tunneled connections to the HTTP SSL/TLS port (443).</p>
<p><a href="http://images.nowsms.com/2010/11/tunnel-nonstandard-ports.png"><img class="alignright size-full wp-image-1569" title="tunnel-nonstandard-ports" src="http://images.nowsms.com/2010/11/tunnel-nonstandard-ports.png" alt="Tunnel Nonstandard Ports" width="456" height="521" /></a>It is possible to override this default configuration, and allow the connection by applying the following setting on the <strong>&#8220;HTTP&#8221;</strong> page of the NowWAP configuration: <strong>&#8220;Allow SSL/TLS Tunnel to non-standard ports&#8221;</strong>.</p>
<p>Enabling this setting will resolve the problem and allow users to connect to BlackBerry App World.</p>
<p>There are no security concerns involved with enabling this setting. If there are any concerns, they are commercial concerns. Most mobile operators have different APNs that provide different levels of connectivity. The default setting for NowWAP allows only standard web browsing to pass through the proxy. Enabling this setting could allow other applications to function through the proxy by allowing tunnels for other port numbers.</p>
<p>Future versions of NowWAP will include port 80 as an allowed tunneling port to avoid conflicts with the BlackBerry App World service.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.nowsms.com/wap-gateway-blocks-blackberry-app-world/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SMPP Information and Resources</title>
		<link>http://www.nowsms.com/smpp-information</link>
		<comments>http://www.nowsms.com/smpp-information#comments</comments>
		<pubDate>Fri, 12 Nov 2010 18:57:36 +0000</pubDate>
		<dc:creator>brett</dc:creator>
				<category><![CDATA[Support Blog]]></category>
		<category><![CDATA[SMPP]]></category>

		<guid isPermaLink="false">http://www.nowsms.com/?p=1523</guid>
		<description><![CDATA[SMPP (Short Message Peer-to-Peer) Protocol is an industry standard protocol that is used for exchanging SMS messages between peer entities.  In SMPP terminology, two types of entities are defined, a Short Message Service Centre (SMSC), and an External Short Messaging Entity (ESME). In simplistic terms, an SMSC manages SMS messages for a mobile operator network, [...]]]></description>
				<content:encoded><![CDATA[<p><strong>SMPP (Short Message Peer-to-Peer) Protocol</strong> is an industry standard protocol that is used for exchanging SMS messages between peer entities.  In SMPP terminology, two types of entities are defined, a <strong>Short Message Service Centre (SMSC)</strong>, and an <strong>External Short Messaging Entity (ESME)</strong>.</p>
<p>In simplistic terms, an <strong>SMSC</strong> manages SMS messages for a mobile operator network, delivering SMS messages to mobile phones.</p>
<p>An <strong>ESME</strong> is any other type of entity that wants to exchange SMS messages with these mobile subscribers.  In other words, it is any type of application or service that wants to be able to send and/or receive SMS messages. These applications or services are also often referred to as Value Added Services (VAS) or Value Added Service Providers (VASP).</p>
<p>The SMPP protocol is designed to facilitate the exchange of these SMS messages over the standard TCP/IP protocol.</p>
<p>SMPP is designed to be fast and efficient to facilitate high volume reliable message exchange.</p>
<p>This page is designed to be a quick resource for more information on SMPP.  The following links provide more detailed information on specific issues or considerations regarding SMPP (especially for users of NowSMS):</p>
<ul>
<li><a href="http://www.nowsms.com/smpp-3-4-protocol-specification-archive"><strong>SMPP Version 3.4 Protocol Specification</strong></a> &#8211; This is the version of the SMPP specification that is in widespread use.  There is a later version 5.0 specification that was defined, but it did not have significant market acceptance, and the group that defined the later version specification has been disbanded.</li>
<li><a href="http://www.nowsms.com/discus/messages/1/24856.html"><strong>SMPP Version 3.3 Protocol Specification</strong></a> &#8211; A few mobile operators still use old SMSCs that implement the version 3.3 specification.  They can be challenging to work with as some areas of the version 3.3 specification are even more vague than version 3.4.</li>
<li><a href="http://www.nowsms.com/doc/configuring-smsc-connections/smpp-smsc"><strong>Connecting to an SMPP SMSC</strong></a> &#8211; Connecting to an SMSC using SMPP can be confusing because of unusual terminology like TON, NPI, and service type.  It can also be confusing because there are many key areas of the SMPP specification that are vague, and different providers have decided to implement things different ways, especially with regard to character set encoding.  This link explains how to configure an SMSC connection in NowSMS, and includes a discussion of some of the terminology and configuration options.</li>
<li><a href="http://www.nowsms.com/long-sms-text-messages-and-the-160-character-limit"><strong>SMPP Character Set Issues: Long Text Messages and Unicode</strong></a> &#8211; Some SMPP implementations want you to submit a long message in a single submission, others require you to perform message segmentation based upon the message type (sometimes using TLV parameters, sometimes using GSM UDH).  Some SMPP implementations use the GSM character set, others use iso-8859-1.</li>
<li><a href="http://www.nowsms.com/ton-and-npi-settings-for-smpp-and-ucpemi"><strong>What are TON and NPI Settings?</strong></a> &#8211; TON (Type of Number) and NPI (Numbering Plan Indicator) are two of the settings that can easily give you a headache.  This link provides more information on these settings.</li>
<li><a href="http://www.nowsms.com/tag/smppoptions"><strong>Optional TLV Parameters</strong></a> &#8211; The SMPP Protocol is extensible in that it allows providers to add their own additional parameters, which are known as TLV parameters, so named because of the format of these parameters &#8230; Tag, Length, then Value.   Some TLV parameters are defined in the specification, but are optional and are sometimes used and sometimes not used.  Other parameters are provider specific.  This link helps you learn more about TLV parameters by explaining how to configure NowSMS to support custom TLV parameters for a provider.</li>
<li><a href="http://www.nowsms.com/smpp-error-code-reference"><strong>SMPP Error Code Reference</strong></a> &#8211; What do the error numbers or obscure terms like ESME_RTHROTTLED mean?  Use this link as a quick reference.</li>
<li><a href="http://www.nowsms.com/smpp-error-code-handling-in-nowsms"><strong>SMPP Error Handling in NowSMS</strong></a> &#8211; This link explains how NowSMS handles different SMPP errors, and how can this behaviour be modified.</li>
<li><a href="http://www.nowsms.com/smsc-speed-limits"><strong>Limiting the Speed of an SMPP Connection</strong></a> &#8211; SMS providers limit the speeds at which they will accept messages in order to optimise their resource allocation.  If you try to send faster than your provider allows, you may encounter unexpected errors and delays.</li>
<li><a href="http://www.nowsms.com/smpp-connection-types-sender-receiver-transceiver"><strong>Understanding SMPP Connection Types</strong></a> &#8211; Are you both sending and receiving messages?  Does your provider expect you to establish separate sender and receiver connections, or do they expect you to connect as a single connection transceiver?</li>
<li><a href="http://www.nowsms.com/using-nowsms-as-an-smpp-server-for-another-application"><strong>Using NowSMS as an SMPP Server for Other Applications</strong></a> &#8211; One of the more common uses of NowSMS is to use NowSMS as an SMPP server.  Other clients or applications connect to NowSMS as their SMPP Server, and NowSMS chains to one or more other SMSCs for sending and receiving SMS messages, possibly using SMPP, or possibly using other protocols.</li>
<li><a href="http://www.nowsms.com/smpp-async-mode"><strong>SMPP Asynchronous Mode</strong></a> &#8211; If you&#8217;re sending faster than 10 SMS messages per second, you  need to understand SMPP asynchronous mode.</li>
<li><a href="http://www.nowsms.com/tag/smpp"><strong>NowSMS Tech Support Blog</strong></a> &#8211; This link will display SMPP related posts on the NowSMS Tech Support Blog.</li>
<li><a href="http://www.nowsms.com/messages"><strong>NowSMS Technical Forum / Discussion Board</strong></a> &#8211; Additional discussions of SMPP related topics and issues take place on the NowSMS Technical Forum / Discussion Board.  Feel free to search these discussions and/or post questions.</li>
</ul>
<h2>One more thing &#8230;</h2>
<p>As I wrote this post, I recalled one other bit of SMPP terminology that can drive new users crazy &#8230; <strong>MO</strong> and <strong>MT</strong> messages.  Some people like to throw these terms around just to pretend they know what they are talking about.</p>
<p><strong>MO &#8211; Mobile Originated</strong> message &#8230; in other words, a message that has been sent by a mobile phone subscriber.</p>
<p><strong>MT &#8211; Mobile Terminated</strong> message &#8230; in other words, a message that is destined to be delivered to a mobile phone subscriber.</p>
<p><em>When you are an application provider that is connecting to an SMS service provider, you receive MO messages, and you send MT messages.</em></p>
<p>If you would like more information on interfacing your application to NowSMS for SMS message processing, please refer to our API guide at:  <a href="http://www.nowsms.com/faq/apis-apis-apis-more-apis">http://www.nowsms.com/faq/apis-apis-apis-more-apis</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.nowsms.com/smpp-information/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>NowSMS Update Release &#8211; 2010.11.04</title>
		<link>http://www.nowsms.com/nowsms-update-2010-11-04</link>
		<comments>http://www.nowsms.com/nowsms-update-2010-11-04#comments</comments>
		<pubDate>Thu, 11 Nov 2010 21:41:27 +0000</pubDate>
		<dc:creator>brett</dc:creator>
				<category><![CDATA[Software Updates]]></category>

		<guid isPermaLink="false">http://www.nowsms.com/?p=1372</guid>
		<description><![CDATA[An interim update release of the Now SMS &#38; MMS Gateway is currently available at http://www.nowsms.com/download/nowsms20101104.zip.  Use the executable file in this ZIP to update an existing NowSMS installation. This document details the update release history since the current official release, version 2010.02.09.  Release history for the changes prior to the current official release can [...]]]></description>
				<content:encoded><![CDATA[<p>An interim update release of the Now SMS &amp; MMS Gateway is currently available at <a href="http://www.nowsms.com/download/nowsms20101104.zip">http://www.nowsms.com/download/nowsms20101104.zip</a>.  Use the executable file in this ZIP to update an existing NowSMS installation.</p>
<p>This document details the update release history since the current official release, version 2010.02.09.  Release history for the changes prior to the current official release can be found at  <a href="http://www.nowsms.com/category/updates">http://www.nowsms.com/category/updates</a>.</p>
<p>Highlights of this update:</p>
<p><strong>1.) SMS Gateway:</strong> Performance enhancements for processing large message queues, especially when there are 4 or more outbound SMSC connections.</p>
<p><strong>2.) SMS Gateway:</strong> Improved performance for accepting HTTP message submissions, HTTP keep-alive sockets now supported.</p>
<p><strong>3.) SMS Gateway/SMPP Client:</strong> Added the capability to define the number of transmitter, receiver and/or transceiver connections to be allocated for a single SMPP connection, without requiring multiple duplicate connections to be defined.</p>
<p><strong>4.) SMPP Server:</strong> Support for using SMPP Asynchronous mode to speed the delivery of messages to SMPP Clients when NowSMS is acting as an SMPP Server.  Also an improvement message ID generation logic to prevent duplicate message IDs (SAR-phonenumber-x-x-x format) from being generated.</p>
<p><strong>5.) MMSC:</strong> Fix for corrupt message problems that could trigger internal restarts of the MMSC service when processing such a message.</p>
<p><strong>6.) MMSC/MM4:</strong> Tolerance improved in decoding received messages where the Content-Location header does not conform to the relevant SMTP specifications, which previously resulted in some users receiving occasional corrupt messages over some MM4 interconnections.  Forwarding of these corrupt messages is suspected in the corrupt message problems that triggered internal restarts of the MMSC service.  Also, fix foran  interoperability problem that was causing some customers problems interconnecting with NTT DoCoMo Japan.  Received messages from this interconnect were not strictly following the 3GPP TS 23.140 Message-ID and Transaction-ID formats.  NowSMS used to correct the encoding problem when sending acknowledgments, but now returns acknowledgments with these ID values in the same format in which they were received, even if the values are invalid per the 3GPP TS 23.140 specification.</p>
<p>There are numerous other minor updates that are detailed in the release history information below.  The release history information provides additional information on configuration settings that have been added to address unusual configuration requirements.<span id="more-1372"></span></p>
<hr /><strong>2010-11-04:</strong></p>
<p><strong>* E-Mail to SMS:</strong> Translate Greek capital letters to visually equivalent 7-bit characters in attempts to send SMS messages out using 7-bit encoding.  (The NowSMS web interface already does this.)</p>
<p><strong>* MM7 Client:</strong> Change Content-Type: text/xml; charset=&#8221;utf-8&#8243; to Content-Type: text/xml; charset=utf-8 to address a compatibility problem with a particular operator MMSC.  (Whether or not this parameter is quoted should not matter.  Removing the quotes should not cause a problem with other MMSCs.)</p>
<p><strong>2010-10-28:</strong></p>
<p><strong>* SMPP Client:</strong> Fix for some BinaryDCS= values not working properly, especially BinaryDCS=2.  If BinaryDCS=2 was set for a connection, NowSMS would garble the data.</p>
<p><strong>2010-10-22:</strong></p>
<p><strong>* SMPP Client:</strong> Fix for a problem introduced in mid-2010 where message receipt IDs were not properly evaluated if the receipt was received two or more days after the message was originally sent.</p>
<p><strong>* SMPP Server:</strong> Add preliminary support for NowSMS acting as an SMPP server to use async mode to deliver messages to SMPP clients (NowSMS has previously supported async mode in the other direction, where NowSMS is the SMPP client).  This can provide increased performance in delivering messages to connected SMPP clients, provided that the client can support SMPP async mode.  To enable SMPP async mode for all clients, add SMPPServerAsyncWindowSize=## to the [SMSGW] section of SMSGW.INI.  Alternatively to enable or disable for selected clients, add an [SMPPServerAsyncWindowSize] section to SMSGW.INI, and specify AccountName=## to set the async window size for a specific SMS User account.  (A window size of 0 disables async mode.)</p>
<p><strong>2010-10-18:</strong></p>
<p><strong>* SMS Gateway:</strong> E-mail alerts now support multiple recipients, separated by a comma.</p>
<p><strong>2010-10-13:</strong></p>
<p><strong>* MMSC:</strong> When NowSMS generates an MM7 error response, it was not encoding the error in an a SOAP envelope &lt;fault&gt; element, as required by Section 8.7.8.3 of 3GPP TS 23.140.  (Note:  The issue is not as cut and dried as it may seem, as the MM7 element defintions for the error response are in conflict with this Section 8.7.8.3.  We are choosing to follow Section 8.7.8.3 and assume that the definitions that conflict with it are mistakes in the specification.  Further discussion of this issue is at <a href="http://www.nowsms.com/discus/messages/485/60182.html">http://www.nowsms.com/discus/messages/485/60182.html</a>.)</p>
<p><strong>2010-10-04:</strong></p>
<p><strong>* SMPP</strong> &#8211; Fix for a problem where recent versions have not properly passed the &#8220;Bind TON&#8221;, &#8220;Bind NPI&#8221; or &#8220;Address Range&#8221; parameter in SMPP connection tests from the configuration dialog when initially defining a new SMSC connection.</p>
<p><strong>* SMS Gateway:</strong> Initial HTTP Keep-Alive socket support in the SMS gateway in the last release caused a problem for &#8220;/provision&#8221; requests.  This problem has been resolved.</p>
<p><strong>* MMSC:</strong> Add configuration option to block routing callback for short codes (many routing callbacks expect standard phone numbers).  If ForceRoutingCallback<span class="notranslate">=Yes</span> is set in the MMSC.INI, then ForceRoutingCallbackShortCodes<span class="notranslate">=No</span> can be set to exclude short codes from the routing callback.  Note:  The default maximum short code length is 6 digits, this can be adjusted with the ShortCodeMaxLength=## setting.  (All settings referenced in this description are in the [MMSC] section of MMSC.INI.)</p>
<p><strong>2010-09-30:</strong></p>
<p><strong>* SMS Gateway:</strong> HTTP Keep-Alive sockets are now supported for HTTP submissions to offer improved performance.  If this causes a problem for some applications, keep-alive sockets can be disabled by editing SMSGW.INI and under the [SMSGW] header, adding EnableKeepAlive<span class="notranslate">=No</span>.</p>
<p><strong>2010-09-21:</strong></p>
<p><strong>* SMS Gateway:</strong> The SMPPRejectErrorCodes setting described in <a href="http://www.nowsms.com/smpp-error-code-handling-in-nowsms">http://www.nowsms.com/smpp-error-code-handling-in-nowsms</a> can now be set on an individual connection basis.  SMPPRejectErrorCodes= is now supported under individual [SMPP - server:port] section headers to allow settings that apply to only that connection.</p>
<p><strong>* SMS Gateway:</strong> Improve performance of accepting new HTTP connections for message submissions.</p>
<p><strong>* SMPP Server:</strong> Fix message id generation logic to avoid duplicate message IDs when accepting long messages from SMPP clients.</p>
<p><strong>2010-09-14:</strong></p>
<p><strong>* SMPP:</strong> When receiving a delivery report from an upstream SMPP connection, if the TLV parameter message_state is not set, NowSMS would previously assume that the delivery report signals successful delivery and would generate TLV parameter message_state=2 if the delivery report is relayed to an SMPP client.  Effective with this update, NowSMS now parses the text of the delivery report to determine the status.  If the status cannot be determined, NowSMS will not generate a message_state parameter.</p>
<p><strong>2010-08-23:</strong></p>
<p><strong>* MMSC:</strong> Add configuration setting to allow the SMTP host name to be set independently of the MMSC &#8220;Local Host Name&#8221;.  To set the SMTP Host name, edit MMSC.INI, and under the [MMSC] header, add SMTPHostName=xxxx.  If this parameter is not present, the &#8220;Local Host Name or IP Address&#8221; field will be used as the SMTP host name.  (This setting was added on 2010-06-17, but the original implementation was for SMTP only, not MM4.  It now also applies to MM4.)</p>
<p><strong>* SMPP:</strong> Fix for a problem with delivery receipt handling for a delivery receipt that was received in Unicode text format.</p>
<p><strong>2010-08-17:</strong></p>
<p><strong>* MMSC:</strong> Fix for an exception error that could trigger MMSC restarts when processing MMS to &#8220;SMS web link with code&#8221; conversions.</p>
<p><strong>2010-08-13:</strong></p>
<p><strong>* MMSC/MM7:</strong> Fix for &#8220;MMSBCC<span class="notranslate">=Yes</span>&#8221; parameter not properly encoding recipients as &#8220;BCC&#8221; if routing externally via an MM7 or MM4 connection.</p>
<p><strong>* SMPP:</strong> Add support for iso-8859-15 character set.  This character set may be required if you are experiencing problems sending the Euro € character.  When using the GSM character set, the Euro is encoded as an escape character followed by e.  However, the Euro character is not actually defined in the iso-8859-1 character set.  When NowSMS is configured to use the iso-8859-1 character set, it encodes the Euro with hexadecimal value 0&#215;80, which is the standard encoding from the Microsoft Windows extension of iso-8859-1.  However, some SMPP servers expect the Euro to be encoded as 0xA4, which is defined in the iso-8859-15 character set, a character set which was originally intended to be a replacement for iso-8859-1, but that did not see widespread implementation.  When an SMPP connection is configured to use the iso-8859-15 (or iso-8859-1) character set, the default behaviour of NowSMS is to submit messages using a data_coding value of 3 to indicate iso-8859-1 encoding.  Additional SMPP character set notes:  1.) Some SMSCs expect iso-8859-1 (or -15) encoding to be used, but do not understand the data_coding = 3 setting.  For those environments, it is possible to manually edit SMSGW.INI, and under the [SMPP - server:port] section header for the SMPP connection, add SMSCCharsetDefault<span class="notranslate">=Yes</span>, which will tell NowSMS to use a data_coding value of 0 with the character set that is configured for the connection.  2.)  If there are character set encoding problems receiving a message from a connection, note that NowSMS uses the configured character set for the connection for interpreting text messages only if the data_coding value is 0.  If the data_coding value is 3, NowSMS will decode the text as iso-8859-1 (or iso-8859-15), regardless of the character set configured for the connection.  If the data_coding value is 1, or a text encoding value other than 3, NowSMS will decode the text as using the GSM character set.  To override this decoding behaviour for received messages, and force NowSMS to always use the character set configured for the connection, edit SMSGW.INI and under the [SMPP - server:port] section header for the SMPP connection, add SMSCCharsetReceiveTextOverride<span class="notranslate">=Yes</span>.</p>
<p><strong>* SMPP Server:</strong> Support for SMPP clients connecting to the NowSMS server via SMPP using the iso-8859-15 character set has been added, similar to the settings described for outbound SMPP connections from NowSMS.  Default settings for the NowSMS SMPP server character set can be configured under the [SMPP] header of SMSGW.INI.  If there is a need to support SMPP clients that use different default character sets, it is possible to add additional user-specific section headers to SMSGW.INI.  Under a header of [SMPP - username], the following parameters can be applied to a specific SMPP client account:  SMSCCharset=IA5 (for GSM), iso-8859-1 or iso-8859-15; SMSCCharsetDefault<span class="notranslate">=Yes</span> (tells NowSMS to use a data_coding value of 0 with the configured character set), SMSCCharsetReceiveTextOverride<span class="notranslate">=Yes</span> (tells NowSMS to always use the character set configured for the user for text messages, even if the data_coding value implies a different character set is being used).</p>
<p><strong>2010-08-03:</strong></p>
<p><strong>* SMS Accounting Callbacks:</strong> Add additional parameters to accounting callbacks, including SMPP &#8220;ServiceType&#8221; and <span class="notranslate">&#8220;Validity&#8221;</span> parameters.</p>
<p><strong>2010-07-27:</strong></p>
<p><strong>* MMSC:</strong> Fix for a problem sending a message to a large number of MMS recipients, where a problem occurred because initial message recipients would receive the message notification before the MMS message file was closed on the MMSC.  This caused message download failures unless MSISDNMatchRequiredForReceive<span class="notranslate">=No</span> was set under the [MMSC] header of MMSC.INI.  (Most MMS clients would re-attempt download later and the message would be successfully delivered.)</p>
<p><strong>* Web Interface/Send MMS Message:</strong> Fix for an exception error that could occur in the SMS gateway when sending an MMS message to a large number of recipients that include a &#8220;+&#8221; character.</p>
<p><strong>2010-06-30:</strong></p>
<p><strong>* SMPP &amp; MM7:</strong> Add configuration option to support alphanumeric recipients for SMS messages sent over SMPP and MMS messages sent over MM7.  This is to support a provider that maintains server side distribution lists which are addressed as alphanumeric recipients.  Alphanumeric recipients are only supported if AllowAlphaRecip<span class="notranslate">=Yes</span> is added to the [SMSGW] section of SMSGW.INI.  (Fix problem sending to SMS recipients that include a &#8220;:&#8221; character.)</p>
<p><strong>2010-06-28:</strong></p>
<p><strong>* MMSC/inbound MMS Messages:</strong> A new &#8220;MMSC Routing&#8221; option has been added for &#8220;MMSC VASP&#8221; definitions.  &#8220;Local MMS Recipients Only&#8221; means that the connection will only accept messages that the MMSC can handle directly without routing to an external MMSC Routing (MM4, MM7) definition.  &#8220;Local MMS Recipients Only&#8221; includes both local MMS users, as well as recipients that are automatically converted to WAP Push or SMS with web link (code).  The purpose of the setting is to disallow selected MM4 or MM7 connections from being able to route externally via another MM4 or MM7 connection.</p>
<p><strong>* MMSC:</strong> The MSISDNHeaderConvertToLocalNumber<span class="notranslate">=Yes</span> setting now affects both MMS headers and MMS messages that have been converted to SMS with web link (with code) for delivery, so that the message sender phone number is displayed in local number format instead of international number format.</p>
<p><strong>* MMSC:</strong> Some temporary files (TEMPxxxxxxxx.TMP) were being created in the NowSMS program directory, and would fail to be deleted.  These files are now properly created in the TEMP subdirectory and automatically cleaned up.</p>
<p><strong>* SMS Gateway:</strong> When an HTTP message submission is rejected, it could be because the user is out of credits, has exceeded daily/monthly allowances, been denied by a response from an accounting callback, or an error has occurred processing an accounting callback.  To aid in troubleshooting, the HTTP 403 error response now includes text that explains the reason for the message rejection.  Additionally, it is easier to search for rejection information in the SMSDEBUG.LOG, as the error information in the log will be preceded by &#8220;MessageAccountingReject:&#8221;.</p>
<p><strong>2010-06-17:</strong></p>
<p><strong>* SMPP Configuration:</strong> Add a scroll bar to the &#8220;SMSC Character Set&#8221; options list to allow easier selection of different character sets.</p>
<p><strong>* SMS Gateway Accounting Callbacks:</strong> Fix &#8220;SMSOut&#8221; accounting callback to start with the text &#8220;Retry Pending&#8221; for &#8220;Status&#8221; when a message delivery attempt fails, but a retry is still pending, allowing temporary errors to be properly distinguished from final error conditions.</p>
<p><strong>* SMS Gateway:</strong> Optional fix for segmentation logic to avoid repeating UDH headers when NowSMS is automatically segmenting a long message submitted via SMPP &#8220;message_payload&#8221; or via HTTP.  Repeating UDH headers in all segments can cause problems for some uses, particularly SIM data download.  To enable this logic, add RepeatUDHAllSegments<span class="notranslate">=No</span> under the [SMSGW] header of SMSGW.INI.</p>
<p><strong>* SMS Gateway/SMPP Client:</strong> When operating in sync mode, if ESME_RTHROTTLED is returned, after waiting for the throttle delay, the same message will be re-attempted up to 5 times.</p>
<p><strong>* SMS Gateway/SMPP Client:</strong> The SMPP Throttle error delay is now configurable on a per connection basis.  The default throttle error delay is 5 seconds.  To set a global throttle error delay that applies to all connections, add SMPPThrottleErrorDelay=## (where ## is a number of seconds) under the [SMSGW] header of SMSGW.INI.  To specify a delay that should be used only for a specific connection, add SMPPThrottleErrorDelay=## to the [SMPP - server:port] section for the connection.</p>
<p><strong>* SMS Gateway/SMPP Client:</strong> Add configuration option to treat the ESME_RMSGQFUL (receive message queue full) error the same way as a throttling error, subjecting it to the SMPPThrottleErrorDelay pause.  This option can be activated for inidividual SMPP connections if desired by adding ThrottleForQFull<span class="notranslate">=Yes</span> under the [SMPP - server:port] section header for a connection.</p>
<p><strong>* SMS Gateway:</strong> Additional performance optimisations for user credit balance and quota tracking.</p>
<p><strong>* SMS Gateway:</strong> Fix for a message encoding problem when sending long text messages via an outbound SMPP connection with WDP Adaptation enabled if the message contains source and/or destination port addressing.</p>
<p><strong>2010-06-04:</strong></p>
<p><strong>* SMS Gateway/GSM Modem Receive Message:</strong> Fix for a problem where the sender phone number was not being interpreted correctly for some messages.  For some reason, the problem messages were being received with the sender address type being set to a reserved/unknown value, which was causing NowSMS to mistakenly interpret the sender address as being alphanumeric.</p>
<p><strong>2010-06-02:</strong></p>
<p><strong>* SMS Gateway:</strong> Performance optimisations for user credit balance tracking.</p>
<p><strong>2010-06-01:</strong></p>
<p><strong>* MMSC/MM4:</strong> When generating MM4_forward.RES acknowledgments include the &#8220;X-Mms-Message-ID:&#8221; and &#8220;X-Mms-Transaction-ID:&#8221; headers exactly as they were received.  Previously, quote characters were added to these values if they were not present in the received message, because the MM4 specification (3GPP 23.140) defines these headers as requiring quoted-string values.  This was causing a problem with an MM4 interconnect to NTT DoCoMo Japan, which is not properly formatting these headers with quoted-string values.  In the unlikely event that this change causes a problem with other MM4 interconnects, a configuration setting has been added to force the old behaviour which would always format these values as quoted-string.  To enable this old behaviour, edit MMSC.INI and under the [MMSC] header, add ForceMM4QuotedMessageID<span class="notranslate">=Yes</span>.</p>
<p><strong>2010-05-25:</strong></p>
<p><strong>* MMSC:</strong> Fix for a corrupt message problem that triggered repeated MMSC restarts and denial of service.</p>
<p><strong>2010-05-24:</strong></p>
<p><strong>* SMS Gateway:</strong> Fix for bug effecting the &#8220;ReRouteReceived&#8221; setting, which allows messages received via an SMSC connection to be redirected for delivery via another SMSC connection.  Recent changes to allow accounting callbacks to specify message routing was causing invalid routing information to be recorded for these messages, causing them to be stuck in the queue.</p>
<p><strong>2010-05-20:</strong></p>
<p><strong>* GSM Modem Handling:</strong> When routing messages received via a GSM modem to an SMPP client account, if the modem phone number is not available, insert a value of &#8220;1&#8243; as the destination address instead of blocking the message from being received by the SMPP client.</p>
<p><strong>2010-05-17:</strong></p>
<p><strong>* SMS Gateway:</strong> 2010-05-07 version had a problem with &#8220;Stuck messages&#8221; if messages were submitted with explicit queue routing (&amp;SMSC<span class="notranslate">Route=</span>routename), and the setting UseRouteQueues<span class="notranslate">=Yes</span> was not applied.</p>
<p><strong>2010-05-13:</strong></p>
<p><strong>* GSM Modem Handling:</strong> Additional checks to stop polling memory locations that don&#8217;t exist on unusual modems like the Multitech CDMA modem.  (Was not an operational problem, but resulted in a lot of error information in debug logs.)</p>
<p><strong>2010-05-12:</strong></p>
<p><strong>* GSM Modem Handling:</strong> Add an additional modem test (AT+CREG?) to check if the modem reports loss of signal.  If the loss of signal condition persists, trigger a soft reset of the modem to try to get the modem to reconnect with the operator.</p>
<p><strong>* GSM Modem Handling</strong>:  Fix for a &#8220;CMS ERROR: 340&#8243; issue that could occur with some CDMA modems that emulate GSM modems, where NowSMS would try to use support for GSM Phase 2+, even if it was not enabled in the configuration.</p>
<p><strong>2010-05-07:</strong></p>
<p><strong>* SMS Gateway:</strong> Add the capability to define the number of transmitter, receiver and/or transceiver connections to be allocated for a single SMPP connection, without requiring multiple duplicate connections to be defined.  In the [SMPP - server:port] section of SMSGW.INI, the following settings are supported:  TransmitterCount=## and ReceiverCount=##.  TransmitterCount=## defines the number of transmitter connections to be established.  If transceiver mode is configured, TransmitterCount specifies the number of transceiver connections to be established.  If transceiver mode is not configured, ReceiverCount specifies the number of receiver connections to be established.  Note that the number of receiver connections cannot be greater than TransmitterCount.</p>
<p><strong>* SMS Gateway:</strong> Performance optimisations for large message queues, especially when there are a large number of outbound SMSC connections.  Previously documented UseRouteCache<span class="notranslate">=Yes</span> parameter setting is now enabled by default.  In the event of unexpected problems, the new routing logic can be disabled with a setting of UseRouteCache<span class="notranslate">=No</span> under the [SMSGW] header of SMSGW.INI.</p>
<p><strong>* SMS Accounting Callbacks:</strong> Add SMPPOptions TLV parameters to the accounting callbacks.</p>
<p><strong>* SMS Accounting Callbacks:</strong> Fix for a problem with accounting callbacks if text included &#8220;@@&#8221;.</p>
<p><strong>* MMSC:</strong> Fix problem with automatic MMS version detection that was preventing some MMS clients from recognising that the MMSC supports read receipts, causing clients to send read receipts as standard messages (bug was introduced in early 2009 versions).</p>
<p><strong>* MMSC:</strong> Add pre-auth callback for &#8220;MMSReadReport&#8221; when an MM1 client is submitting a message read receipt.  (A pre-auth callback is not necessarily required for this event, however it is being added for consistency, since a pre-auth callback does exist for delivery reports.)  Pre-auth delivery report callback also modified to include AccountingExtraHeaders if configured.</p>
<p><strong>* MMSC:</strong> Fix for MMSC routing callback not including the &#8220;From=&#8221; parameter for messages submitted via the web interface.</p>
<p><strong>2010-04-20:</strong></p>
<p><strong>* SMS Gateway:</strong> Fix for a routing issue where multiple SMSC connections have the same sender address, where one route has one or more preferred routes, and another route with the same sender address has &#8220;Support any outbound message traffic&#8221; checked.  Messages with a matching sender address should only be routed to the first route if the recipient matches a preferred route, however it was being routed to either route.  Note:  This only applies to sender based routing.</p>
<p><strong>2010-04-15:</strong></p>
<p><strong>* Accounting Callbacks:</strong> Add additional parameter &#8220;AcctInfo=&#8221; that can be included when submitting a message via HTTP.  If included on submission, this parameter will be passed to subsequent accounting callbacks regarding the message.</p>
<p><strong>* MMSC:</strong> Fix for MM4 message decoding problem when &#8220;Content-Location:&#8221; header contains a space character.  According to RFC2557, White space characters do not appear to be valid as part of a location name in this header.  A change to allow them is being implemented to address a problem where customers are receiving corrupt messages from some Verizon phones.</p>
<p><strong>* SMS Gateway:</strong> New performance optimisations for performance problems with large message queues, especially when combined with a large number of outbound SMSC connections.  These performance optimisations are only enabled in this version when UseRouteCache<span class="notranslate">=Yes</span> is specfied under the [SMSGW] header of SMSGW.INI.</p>
<p><strong>* Internal:</strong> Include additional error checking to detect and automatically repair SQLite databases that are used for receipt tracking.</p>
<p><strong>* Internal:</strong> Update SQLite databased (used for message id receipt tracking) to v3.6.23.</p>
<p><strong>2010-03-18:</strong></p>
<p><strong>* SMS Gateway:</strong> Fix for 2-way SMS problem on Windows XP systems, where early 2010 versions would have problems sending replies to 2-way SMS messages because of corrupt &#8220;SMSC<span class="notranslate">Route=</span>&#8221; information being added to the SMS message.</p>
<p><strong>* SMS Gateway:</strong> Add configuration settings to disable user logging and quota management features to add performance for systems that do not need user logs and/or quota tracking.  Under the [SMSGW] header of SMSGW.INI, the following settings have been added:  DisableUserLog<span class="notranslate">=Yes</span> &#8211; This setting disables the creation of user specific log files in the USERS\username directory structure.  DisableUserQuota<span class="notranslate">=Yes</span> &#8211; This setting disables the tracking of how many messages each user account sends in a day.</p>
<p><strong>2010-03-10:</strong></p>
<p><strong>* SMS Gateway:</strong> Fix for delivery receipts message IDs not being tracked if the sender address is alphanumeric containing a &#8216; (single quote/apostrphe) character.</p>
<p><strong>* SMS Gateway:</strong> Minor performance optimisation for large message queues (could be major for some installations, minor for others).</p>
<p><strong>* WAP Push</strong> testing parameters added to meet a particular conformance test which required support for WAP Push SI, SL and CO messages using WBXML version 1.1 and the iso-8859-1 character set.  NowSMS defaults to using WBXML version 1.2 and the UTF-8 character set.  To set the WBXML version, edit SMSGW.INI and under the [SMSGW] section header, add WAPPushWBXMLVersion=1.1.  To specify iso-8859-1 as the WAP Push character set, use WAPPushUseUTF8<span class="notranslate">=No</span> in the [SMSGW] section of SMSGW.INI.</p>
<p><strong>2010-02-10:</strong></p>
<p>* Fix for error message confusion where NowSMS would report an error about the SMPP port already being in use when the port conflict actually involved the SMTP port.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.nowsms.com/nowsms-update-2010-11-04/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SMPP Asynchronous Mode</title>
		<link>http://www.nowsms.com/smpp-async-mode</link>
		<comments>http://www.nowsms.com/smpp-async-mode#comments</comments>
		<pubDate>Tue, 09 Nov 2010 17:46:44 +0000</pubDate>
		<dc:creator>bryce</dc:creator>
				<category><![CDATA[Support Blog]]></category>
		<category><![CDATA[SMPP]]></category>
		<category><![CDATA[SMPP Async Mode]]></category>
		<category><![CDATA[SMPP Server]]></category>

		<guid isPermaLink="false">http://www.nowsms.com/?p=1338</guid>
		<description><![CDATA[One of the biggest limitations to SMPP performance is protocol implementations that do not support SMPP asynchronous mode, or to state it more correctly, do not take advantage of the speed boost that is possible with SMPP asynchrnous mode. SMPP Synchronous Mode = One Message at a Time In SMPP Synchrnous mode, each side of [...]]]></description>
				<content:encoded><![CDATA[<div id="_mcePaste">
<div id="_mcePaste">
<p>One of the biggest limitations to SMPP performance is protocol implementations that do not support SMPP asynchronous mode, or to state it more correctly, do not take advantage of the speed boost that is possible with SMPP asynchrnous mode.</p>
<h2>SMPP Synchronous Mode = One Message at a Time</h2>
<p>In SMPP Synchrnous mode, each side of the SMPP client has only one outstanding transaction active at a time.  For example, when the client is submitting a message <em>(SMPP submit_sm PDU)</em>, it waits to receive an acknowledgement from the server that the server has received the message <em>(SMPP submit_sm_resp PDU)</em> before the next message is submitted.</p>
<p>Depending on the network latency between SMPP client and server <em>(e.g., use the round-trip time for a ping as a starting point)</em>, it may be difficult to exceed anywhere between 3 messages per second and 20 messages per second unless both client and server are located on the same local area network.  The exact speed limit will vary depending on a combination of network latency, and how much processing is involved for the server to accept the message and generate the acknowledgement back to the client.  Server load at that precise moment in time can also be a significant performance limiting factor.</p>
<p>With an average 50ms latency between client and server, it is not possible to exceed 20 messages per second in synchronous mode, and that is if the SMPP server is quick and immediately acts on the received messages, and is extremely efficient in returning its acknowledgement.</p>
<p>An average latency of 100ms lowers this limit to 10 messages per second.</p>
<p>In the real world, we&#8217;ve seen plenty of SMS service provider connections that top out at 3 to 5 messages per second using synchronous mode.</p>
<h2>SMPP Asynchronous Mode = No wait Between Messages</h2>
<p>SMPP Asynchrnous mode is the solution to this performance dilemma.  Each side of the connection is free to send multiple transactions without waiting for a response to the first transaction.  For example, a client may sumbit multiple messages to the SMSC <em>(SMPP submit_sm PDU)</em> before it receives any acknowledgments back <em>(SMPP submit_sm_resp PDU)</em>.</p>
<p>SMPP Async mode is a windowing protocol.  Most SMPP implementations will allow you to tune performance by specifying a maximum window size <em>(maximum number of outstanding transactions before requiring a response to at least one of the outstanding transactions)</em>.  In NowSMS, when configuring an SMPP SMSC connection, this is specified under the &#8220;Advanced Settings&#8221; for the properties of the SMPP connection.  Look for &#8220;Enable SMPP Async Mode (windowing)&#8221; and the &#8220;Window Size (packets)&#8221; parameter.</p>
<p>SMPP Async mode sounds fantastic &#8230; so why don&#8217;t we use it all the time?</p>
<p>Well, the truth is that a lot of typical SMPP connections simply aren&#8217;t that fast.  There&#8217;s a lot of SMPP software out there that can get tripped up by async mode.  So it&#8217;s safest to start with synchronous mode, and verify that async mode can be supported.</p>
<p>There is also an issue that most SMS service provider connections have strict speed limits that clients cannot exceed. This is done by providers to help them manage and control the overall throughput of their entire system.  If you submit messages faster than your SMS provider will allow, you will end up with throttling errors that end up significantly reducing your overall throughput.  So in most cases, when using async mode, it is very important to know the SMS speed limit imposed by your SMS provider.</p>
<p>The article SMSC Speed Limits (<a href="/smsc-speed-limits">http://www.nowsms.com/smsc-speed-limits</a>) explains how to configure a speed limit for an SMPP <em>(or other type of SMSC)</em> connection with the <strong>SMSCSendLimit=x/y</strong> setting in the <strong>[SMPP - server:port]</strong> section of <strong>SMSGW.INI</strong>.</p>
<p>This speed limit setting is designed to work very well with SMPP Async mode to enable NowSMS to send messages as fast as your SMS provider connection <em>(and NowSMS license)</em> will allow.  <em>(x/y = x messages every y seconds, e.g., 58/1 = 58 messages per second, 125/2 = 125 messages every 2 seconds.)</em></p>
<p>It is also worth giving some guidance on window sizes.  Our general recommendation is for the window size to approximate the target number of messages per second.  This is a recommendation only, and not a requirement.  Some SMSCs may react negatively to larger window sizes if they are under stress, so determining an optimal setting may require experimentation and monitoring of log files.</p>
<h2>SMPP Async Mode When NowSMS is the SMPP Server</h2>
<p>Thus far, all of our discussion of SMPP Async Mode has focused on NowSMS as an SMPP client, connecting to an SMPP server to send messages.</p>
<p>What if NowSMS is the SMPP server?  Is it possible to use async mode to speed the pace of delivering SMS messages <em>(especially delivery reports)</em> to a connected client?</p>
<p>Historically, the SMPP implementation in NowSMS has only made use of async mode for connections where NowSMS is the client <em>(NowSMS initiates the SMPP bind)</em>.</p>
<p>SMPP Async Mode support for NowSMS as an SMPP server has just been added in the v2010.11.04 update which is available for download at <a href="http://www.nowsms.com/download/nowsmsupdate.zip">http://www.nowsms.com/download/nowsmsupdate.zip</a>.  <em>(Note: This update link may be reused by a newer version in the future.  Newer versions will also include this functionality.)</em></p>
<p>SMPP Async Mode for the SMPP Server is not automatically enabled by default, as it may cause problems with some SMPP clients.</p>
<p>To enable SMPP Async Mode for all SMPP clients connecting to the NowSMS SMPP Server <em>(not recommended for most installations)</em>, add <strong>SMPPServerAsyncWindowSize=##</strong> to the <strong>[SMSGW]</strong> section of <strong>SMSGW.INI</strong>. <em>(## is the SMPP Async window size.)</em> If this setting is not present, SMPP Async Mode is not enabled by default for the SMPP Server, but may be enabled for select client connections.</p>
<p>To individually enable or disable SMPP Async Mode for selected clients, add an <strong>[SMPPServerAsyncWindowSize]</strong> section to <strong>SMSGW.INI</strong>, and specify <strong>AccountName=##</strong> to set the async window size for a specific SMS User account with a user name of &#8220;AccountName&#8221;.  <em>(A window size of 0 specifies that async mode should be disabled for that account.)</em></p>
<p>This setting is only recommended for situations where it is necessary to improve the performance of delivering messages to an SMPP client.</p>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.nowsms.com/smpp-async-mode/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>NowSMS/MMS API Information</title>
		<link>http://www.nowsms.com/now-smsmms-api-information</link>
		<comments>http://www.nowsms.com/now-smsmms-api-information#comments</comments>
		<pubDate>Thu, 29 Jul 2010 16:00:00 +0000</pubDate>
		<dc:creator>bryce</dc:creator>
				<category><![CDATA[Support Blog]]></category>
		<category><![CDATA[API]]></category>

		<guid isPermaLink="false">http://www.nowsms.co.uk/?p=135</guid>
		<description><![CDATA[The primary API for sending and receiving SMS and MMS messages with NowSMS is HTTP-based. Because the API is HTTP based, applications that wish to send or receive messages via NowSMS do not have to run on the same physical server, they can interface with NowSMS over a network. This page contains links to additional [...]]]></description>
				<content:encoded><![CDATA[<p><span style="font-family: 'Times New Roman'; font-size: medium;"> </span></p>
<p class="description" style="font-size: 12px; color: #565656; line-height: 1.8; font-family: arial, helvetica, verdana; text-align: justify;">The primary API for sending and receiving SMS and MMS messages with NowSMS is HTTP-based. Because the API is HTTP based, applications that wish to send or receive messages via NowSMS do not have to run on the same physical server, they can interface with NowSMS over a network.</p>
<p class="description" style="font-size: 12px; color: #565656; line-height: 1.8; font-family: arial, helvetica, verdana; text-align: justify;">This page contains links to additional information that describes the raw HTTP interface, as well as links to example scripts for PHP, Java and command-line interfacing with NowSMS.</p>
<p class="description" style="font-size: 12px; color: #565656; line-height: 1.8; font-family: arial, helvetica, verdana; text-align: justify;">Note that in addition to these APIs, NowSMS also supports the SMPP protocol, allowing SMS clients to connect to <a class="descriptionLink" style="font-size: 11px; color: #006699; line-height: 1.8; font-family: verdana, arial; font-weight: bold; text-decoration: underline;" href="http://www.nowsms.com/using-nowsms-as-an-smpp-server-for-another-application">NowSMS as an SMPP server</a> for both sending and receiving SMS messages. For MMS clients, <a class="descriptionLink" style="font-size: 11px; color: #006699; line-height: 1.8; font-family: verdana, arial; font-weight: bold; text-decoration: underline;" href="http://www.nowsms.com/sending-mms-messages-with-nowsms">NowSMS also supports the MM1, EAIF, MM3 (SMTP), MM4 and MM7 protocols</a> for both sending and receiving MMS messages.</p>
<table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#CCCCCC">
<tbody>
<tr>
<td height="1"></td>
</tr>
</tbody>
</table>
<p><span class="MainText" style="font-size: 85%; color: #696969; text-decoration: none; font-family: verdana, arial;"><strong>HTTP Protocol Information </strong></span></p>
<ul>
<li>
<p class="description" style="font-size: 12px; color: #565656; line-height: 1.8; font-family: arial, helvetica, verdana; text-align: justify;"><a class="desciptionLink" style="font-size: 11px; color: #006699; line-height: 1.8; font-family: verdana, arial; font-weight: bold; text-decoration: underline;" href="http://www.nowsms.com/doc/submitting-sms-messages/sending-sms-text-messages">Sending SMS Text Messages over HTTP</a></p>
</li>
<li>
<p class="description" style="font-size: 12px; color: #565656; line-height: 1.8; font-family: arial, helvetica, verdana; text-align: justify;"><a class="desciptionLink" style="font-size: 11px; color: #006699; line-height: 1.8; font-family: verdana, arial; font-weight: bold; text-decoration: underline;" href="http://www.nowsms.com/doc/submitting-sms-messages/sending-wap-push-messages">Sending WAP Push Messages over HTTP</a></p>
</li>
<li>
<p class="description" style="font-size: 12px; color: #565656; line-height: 1.8; font-family: arial, helvetica, verdana; text-align: justify;"><a class="desciptionLink" style="font-size: 11px; color: #006699; line-height: 1.8; font-family: verdana, arial; font-weight: bold; text-decoration: underline;" href="http://www.nowsms.com/doc/advanced-configuration-settings/nowsms-as-a-wap-push-proxy-gateway">Sending WAP Push Messages using PAP over HTTP</a></p>
</li>
<li>
<p class="description" style="font-size: 12px; color: #565656; line-height: 1.8; font-family: arial, helvetica, verdana; text-align: justify;"><a class="desciptionLink" style="font-size: 11px; color: #006699; line-height: 1.8; font-family: verdana, arial; font-weight: bold; text-decoration: underline;" href="http://www.nowsms.com/doc/submitting-sms-messages/url-parameters">NowSMS HTTP URL Parameter Reference</a></p>
</li>
<li>
<p class="description" style="font-size: 12px; color: #565656; line-height: 1.8; font-family: arial, helvetica, verdana; text-align: justify;"><a class="desciptionLink" style="font-size: 11px; color: #006699; line-height: 1.8; font-family: verdana, arial; font-weight: bold; text-decoration: underline;" href="http://www.nowsms.com/sending-mms-messages-with-nowsms">Sending MMS Messages over HTTP</a></p>
</li>
<li>
<p class="description" style="font-size: 12px; color: #565656; line-height: 1.8; font-family: arial, helvetica, verdana; text-align: justify;"><a class="desciptionLink" style="font-size: 11px; color: #006699; line-height: 1.8; font-family: verdana, arial; font-weight: bold; text-decoration: underline;" href="http://www.nowsms.com/doc/2-way-sms-support">2-Way: Receiving SMS Messages over HTTP</a></p>
</li>
<li>
<p class="description" style="font-size: 12px; color: #565656; line-height: 1.8; font-family: arial, helvetica, verdana; text-align: justify;"><a class="desciptionLink" style="font-size: 11px; color: #006699; line-height: 1.8; font-family: verdana, arial; font-weight: bold; text-decoration: underline;" href="http://www.nowsms.com/doc/2-way-mms-support">2-Way: Receiving MMS Messages over HTTP</a></p>
</li>
<li>
<p class="description" style="font-size: 12px; color: #565656; line-height: 1.8; font-family: arial, helvetica, verdana; text-align: justify;"><a class="desciptionLink" style="font-size: 11px; color: #006699; line-height: 1.8; font-family: verdana, arial; font-weight: bold; text-decoration: underline;" href="http://www.nowsms.com/?s=2-way+SMS">Search the NowSMS Web Site for 2-Way SMS</a></p>
</li>
<li>
<p class="description" style="font-size: 12px; color: #565656; line-height: 1.8; font-family: arial, helvetica, verdana; text-align: justify;"><a class="desciptionLink" style="font-size: 11px; color: #006699; line-height: 1.8; font-family: verdana, arial; font-weight: bold; text-decoration: underline;" href="http://www.nowsms.com/?s=2-way+MMS">Search the NowSMS Web Site for 2-Way MMS</a></p>
</li>
</ul>
<table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#CCCCCC">
<tbody>
<tr>
<td height="1"></td>
</tr>
</tbody>
</table>
<p><span class="MainText" style="font-size: 85%; color: #696969; text-decoration: none; font-family: verdana, arial;"><strong>PHP Scripts for Sending SMS &amp; MMS</strong></span></p>
<ul>
<li>
<p class="description" style="font-size: 12px; color: #565656; line-height: 1.8; font-family: arial, helvetica, verdana; text-align: justify;"><a class="desciptionLink" style="font-size: 11px; color: #006699; line-height: 1.8; font-family: verdana, arial; font-weight: bold; text-decoration: underline;" href="http://www.nowsms.com/nowsms-php-example-send-sms-text-message">Sending SMS Text Messages with PHP</a></p>
</li>
<li>
<p class="description" style="font-size: 12px; color: #565656; line-height: 1.8; font-family: arial, helvetica, verdana; text-align: justify;"><a class="desciptionLink" style="font-size: 11px; color: #006699; line-height: 1.8; font-family: verdana, arial; font-weight: bold; text-decoration: underline;" href="http://www.nowsms.com/nowsms-php-example-send-mms-message">Sending MMS Messages with PHP</a></p>
</li>
<li>
<p class="description" style="font-size: 12px; color: #565656; line-height: 1.8; font-family: arial, helvetica, verdana; text-align: justify;"><a class="desciptionLink" style="font-size: 11px; color: #006699; line-height: 1.8; font-family: verdana, arial; font-weight: bold; text-decoration: underline;" href="http://www.nowsms.com/send-oma-client-provisioning-ota-xml-via-php">Sending OMA Client Provisioning Messages with PHP</a></p>
</li>
<li>
<p class="description" style="font-size: 12px; color: #565656; line-height: 1.8; font-family: arial, helvetica, verdana; text-align: justify;"><a class="desciptionLink" style="font-size: 11px; color: #006699; line-height: 1.8; font-family: verdana, arial; font-weight: bold; text-decoration: underline;" href="http://www.nowsms.com/discus/messages/1/4520.html">2-Way: PHP Examples for Receiving SMS</a></p>
</li>
<li>
<p class="description" style="font-size: 12px; color: #565656; line-height: 1.8; font-family: arial, helvetica, verdana; text-align: justify;"><a class="desciptionLink" style="font-size: 11px; color: #006699; line-height: 1.8; font-family: verdana, arial; font-weight: bold; text-decoration: underline;" href="http://www.nowsms.com/receiving-mms-messages-with-a-php-script-http-file-upload-post">2-Way: Receiving MMS with a PHP Script</a></p>
</li>
<li>
<p class="description" style="font-size: 12px; color: #565656; line-height: 1.8; font-family: arial, helvetica, verdana; text-align: justify;"><a class="desciptionLink" style="font-size: 11px; color: #006699; line-height: 1.8; font-family: verdana, arial; font-weight: bold; text-decoration: underline;" href="http://www.nowsms.com/tag/php">PHP Related Postings on the Technical Blog</a></p>
</li>
<li>
<p class="description" style="font-size: 12px; color: #565656; line-height: 1.8; font-family: arial, helvetica, verdana; text-align: justify;"><a class="desciptionLink" style="font-size: 11px; color: #006699; line-height: 1.8; font-family: verdana, arial; font-weight: bold; text-decoration: underline;" href="http://www.nowsms.com/?s=PHP">Search the NowSMS Web Site for PHP</a></p>
</li>
</ul>
<table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#CCCCCC">
<tbody>
<tr>
<td height="1"></td>
</tr>
</tbody>
</table>
<p><span class="MainText" style="font-size: 85%; color: #696969; text-decoration: none; font-family: verdana, arial;"><strong>Java Examples for Sending SMS &amp; MMS</strong></span></p>
<ul>
<li>
<p class="description" style="font-size: 12px; color: #565656; line-height: 1.8; font-family: arial, helvetica, verdana; text-align: justify;"><a class="desciptionLink" style="font-size: 11px; color: #006699; line-height: 1.8; font-family: verdana, arial; font-weight: bold; text-decoration: underline;" href="http://www.nowsms.com/nowsms-java-example-send-sms-message">Sending SMS Messages from Java</a></p>
</li>
<li>
<p class="description" style="font-size: 12px; color: #565656; line-height: 1.8; font-family: arial, helvetica, verdana; text-align: justify;"><a class="desciptionLink" style="font-size: 11px; color: #006699; line-height: 1.8; font-family: verdana, arial; font-weight: bold; text-decoration: underline;" href="http://www.nowsms.com/nowsms-java-example-send-wap-push">Sending WAP Push Messages from Java</a></p>
</li>
<li>
<p class="description" style="font-size: 12px; color: #565656; line-height: 1.8; font-family: arial, helvetica, verdana; text-align: justify;"><a class="desciptionLink" style="font-size: 11px; color: #006699; line-height: 1.8; font-family: verdana, arial; font-weight: bold; text-decoration: underline;" href="http://www.nowsms.com/nowsms-java-example-send-mms-message">Sending MMS Messages from Java</a></p>
</li>
<li>
<p class="description" style="font-size: 12px; color: #565656; line-height: 1.8; font-family: arial, helvetica, verdana; text-align: justify;"><a class="desciptionLink" style="font-size: 11px; color: #006699; line-height: 1.8; font-family: verdana, arial; font-weight: bold; text-decoration: underline;" href="http://www.nowsms.com/tag/java">Java Related Postings on the Technical Blog</a></p>
</li>
<li>
<p class="description" style="font-size: 12px; color: #565656; line-height: 1.8; font-family: arial, helvetica, verdana; text-align: justify;"><a class="desciptionLink" style="font-size: 11px; color: #006699; line-height: 1.8; font-family: verdana, arial; font-weight: bold; text-decoration: underline;" href="http://www.nowsms.com/?s=Java">Search the NowSMS Web Site for Java</a></p>
</li>
</ul>
<table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#CCCCCC">
<tbody>
<tr>
<td height="1"></td>
</tr>
</tbody>
</table>
<p><span class="MainText" style="font-size: 85%; color: #696969; text-decoration: none; font-family: verdana, arial;"><strong>.NET Examples for Sending SMS &amp; MMS</strong></span></p>
<ul>
<li>
<p class="description" style="font-size: 12px; color: #565656; line-height: 1.8; font-family: arial, helvetica, verdana; text-align: justify;"><a class="desciptionLink" style="font-size: 11px; color: #006699; line-height: 1.8; font-family: verdana, arial; font-weight: bold; text-decoration: underline;" href="http://www.nowsms.com/doc/submitting-mms-messages/send-mms-message-with-vb-net">Sending MMS Messages from VB .NET</a></p>
</li>
<li>
<p class="description" style="font-size: 12px; color: #565656; line-height: 1.8; font-family: arial, helvetica, verdana; text-align: justify;"><a class="desciptionLink" style="font-size: 11px; color: #006699; line-height: 1.8; font-family: verdana, arial; font-weight: bold; text-decoration: underline;" href="http://www.nowsms.com/doc/submitting-mms-messages/send-mms-message-with-c-net">Sending MMS Messages from C# .NET</a></p>
</li>
<li>
<p class="description" style="font-size: 12px; color: #565656; line-height: 1.8; font-family: arial, helvetica, verdana; text-align: justify;"><a class="desciptionLink" style="font-size: 11px; color: #006699; line-height: 1.8; font-family: verdana, arial; font-weight: bold; text-decoration: underline;" href="http://www.nowsms.com/tag/net">.NET Related Postings on the Technical Blog</a></p>
</li>
<li>
<p class="description" style="font-size: 12px; color: #565656; line-height: 1.8; font-family: arial, helvetica, verdana; text-align: justify;"><a class="desciptionLink" style="font-size: 11px; color: #006699; line-height: 1.8; font-family: verdana, arial; font-weight: bold; text-decoration: underline;" href="http://www.nowsms.com/?s=.NET">Search the NowSMS Web Site for .NET</a></p>
</li>
</ul>
<table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#CCCCCC">
<tbody>
<tr>
<td height="1"></td>
</tr>
</tbody>
</table>
<p><span class="MainText" style="font-size: 85%; color: #696969; text-decoration: none; font-family: verdana, arial;"><strong>Command Line Interface for Sending SMS &amp; MMS</strong></span></p>
<p class="description" style="font-size: 12px; color: #565656; line-height: 1.8; font-family: arial, helvetica, verdana; text-align: justify;"><strong>Note:</strong> The Command Line Interface is particularly useful because you can easily spawn a command line script to interface with NowSMS.</p>
<ul>
<li>
<p class="description" style="font-size: 12px; color: #565656; line-height: 1.8; font-family: arial, helvetica, verdana; text-align: justify;"><a class="desciptionLink" style="font-size: 11px; color: #006699; line-height: 1.8; font-family: verdana, arial; font-weight: bold; text-decoration: underline;" href="http://www.nowsms.com/sending-sms-from-command-line">Sending SMS Messages</a></p>
</li>
<li>
<p class="description" style="font-size: 12px; color: #565656; line-height: 1.8; font-family: arial, helvetica, verdana; text-align: justify;"><a class="desciptionLink" style="font-size: 11px; color: #006699; line-height: 1.8; font-family: verdana, arial; font-weight: bold; text-decoration: underline;" href="http://www.nowsms.com/sending-wap-push-and-binary-sms-from-the-command-line">Sending WAP Push and Binary SMS Messages</a></p>
</li>
<li>
<p class="description" style="font-size: 12px; color: #565656; line-height: 1.8; font-family: arial, helvetica, verdana; text-align: justify;"><a class="desciptionLink" style="font-size: 11px; color: #006699; line-height: 1.8; font-family: verdana, arial; font-weight: bold; text-decoration: underline;" href="http://www.nowsms.com/sending-mms-from-the-command-line">Sending MMS Messages</a></p>
</li>
<li>
<p class="description" style="font-size: 12px; color: #565656; line-height: 1.8; font-family: arial, helvetica, verdana; text-align: justify;"><a class="desciptionLink" style="font-size: 11px; color: #006699; line-height: 1.8; font-family: verdana, arial; font-weight: bold; text-decoration: underline;" href="http://www.nowsms.com/send-oma-client-provisioning-ota-xml-settings-from-the-command-line">Sending OMA Client Provisioning Messages</a></p>
</li>
<li>
<p class="description" style="font-size: 12px; color: #565656; line-height: 1.8; font-family: arial, helvetica, verdana; text-align: justify;"><a class="desciptionLink" style="font-size: 11px; color: #006699; line-height: 1.8; font-family: verdana, arial; font-weight: bold; text-decoration: underline;" href="http://www.nowsms.com/tag/command-line-interface">Command Line Interface Related Postings on the Technical Blog</a></p>
</li>
<li>
<p class="description" style="font-size: 12px; color: #565656; line-height: 1.8; font-family: arial, helvetica, verdana; text-align: justify;"><a class="desciptionLink" style="font-size: 11px; color: #006699; line-height: 1.8; font-family: verdana, arial; font-weight: bold; text-decoration: underline;" href="http://www.nowsms.com/?s=%22command+line+interface%22">Search the NowSMS Web Site for Command Line Interface</a></p>
</li>
</ul>
<table border="0" cellspacing="0" cellpadding="1" width="100%" bgcolor="#CCCCCC">
<tbody>
<tr>
<td height="1"></td>
</tr>
</tbody>
</table>
<div><span style="font-family: 'Times New Roman';"><span style="font-size: medium;"><span style="color: #565656; line-height: 21px; font-family: arial, helvetica, verdana; font-size: 12px;">In the future, additional API information may be available at the following link:  <a href="http://www.nowsms.com/support/api.htm">http://www.nowsms.com/support/api.htm</a></span></span></span></div>
<div><span style="font-family: arial, helvetica, verdana; font-size: 100%; color: #565656;"><span style="line-height: 21px; font-size: 12px;"><br />
</span></span></div>
]]></content:encoded>
			<wfw:commentRss>http://www.nowsms.com/now-smsmms-api-information/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SMPP Receipt Message ID Tracking Over Multiple Connections</title>
		<link>http://www.nowsms.com/smpp-receipt-message-id-tracking-over-multiple-connections</link>
		<comments>http://www.nowsms.com/smpp-receipt-message-id-tracking-over-multiple-connections#comments</comments>
		<pubDate>Tue, 18 May 2010 17:26:00 +0000</pubDate>
		<dc:creator>bryce</dc:creator>
				<category><![CDATA[Support Blog]]></category>
		<category><![CDATA[delivery receipts]]></category>
		<category><![CDATA[SMPP]]></category>

		<guid isPermaLink="false">http://www.nowsms.co.uk/?p=133</guid>
		<description><![CDATA[One of the standard capabilities of NowSMS is the automatic mapping of receipt message IDs when routing messages to an upstream SMSC connection. The reasoning/logic is simple. When NowSMS accepts a message from a client, NowSMS needs to assign an ID to the message. When the message gets routed to an upstream SMSC, that SMSC [...]]]></description>
				<content:encoded><![CDATA[<p>One of the standard capabilities of NowSMS is the automatic mapping of receipt message IDs when routing messages to an upstream SMSC connection.
<div></div>
<div>The reasoning/logic is simple.  When NowSMS accepts a message from a client, NowSMS needs to assign an ID to the message.</div>
<div></div>
<div>When the message gets routed to an upstream SMSC, that SMSC will assign a new message ID.</div>
<div></div>
<div>NowSMS saves the message ID assigned by the upstream SMSC, so that if a delivery receipt message is received, NowSMS can translate the upstream message ID back to the NowSMS assigned message ID before it is delivered back to the client that submitted the message to NowSMS.</div>
<div></div>
<div>Message IDs are not globally unique.  NowSMS maintains a separate receipt message ID tracking database for each SMSC connection.  For situations where there are multiple connections to the same SMSC <i>(same host name or IP address and port number)</i>, NowSMS automatically shares the same message ID tracking database over all matching connections.  This is because it is possible that the SMSC might return a delivery receipt over any of the connections to that SMSC.</div>
<div></div>
<div>A problem can occur if multliple connections to the same SMSC exist, but with a different host name, IP address or port number.</div>
<div></div>
<div>
<div>There is a way to configure NowSMS to use the same receipt message ID database for multiple connections. This should only be done when you are connecting to an SMSC via multiple IP addresses where you are certain that the SMSC shares a message ID space across the IP addresses. </div>
<div></div>
<div>To enable this, it is necessary to edit the SMSGW.INI file. </div>
<div></div>
<div>Under the [SMPP - server:port] section header for each connection that shares the same receipt message ID namespace, add TrackSMPPReceipts=somename </div>
<div></div>
<div>&#8220;somename&#8221; can be any text that makes sense to you. NowSMS will group together receipt message ID tracking for all connections that share the same TrackSMPPReceipts value.</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.nowsms.com/smpp-receipt-message-id-tracking-over-multiple-connections/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>NowSMS Update &#8211; Interim Release 2010.05.07</title>
		<link>http://www.nowsms.com/nowsms-update-interim-release-2010-05-07</link>
		<comments>http://www.nowsms.com/nowsms-update-interim-release-2010-05-07#comments</comments>
		<pubDate>Wed, 12 May 2010 18:32:00 +0000</pubDate>
		<dc:creator>bryce</dc:creator>
				<category><![CDATA[Software Updates]]></category>
		<category><![CDATA[update]]></category>

		<guid isPermaLink="false">http://www.nowsms.co.uk/?p=132</guid>
		<description><![CDATA[An interim update release of NowSMS is available for download at http://www.nowsms.com/download/nowsmsupdate.zip. The most interesting updated features/capabilities include: Major SMS performance enhancements (and reduced CPU overhead) for configurations with large outbound message queues and/or a large number of outbound SMSC connections. A simpler way to define multiple transmitter, receiver and/or transceiver connections for a single [...]]]></description>
				<content:encoded><![CDATA[<p>An interim update release of NowSMS is available for download at <a href="http://www.nowsms.com/download/nowsmsupdate.zip">http://www.nowsms.com/download/nowsmsupdate.zip</a>.</p>
<div>The most interesting updated features/capabilities include:</div>
<div>
<div>Major SMS performance enhancements (and reduced CPU overhead) for configurations with large outbound message queues and/or a large number of outbound SMSC connections.</div>
</div>
<div>A simpler way to define multiple transmitter, receiver and/or transceiver connections for a single outbound SMPP connection.   Previously, NowSMS allowed the same account credentials to be defined multiple times to allow multiple connections to the same SMSC.  While the old approach is still supported, it is also possible to define a single SMPP connection, and then define the number of transmitter and receiver connections to be established.</div>
<div>A complete list of changes since the 2010.02.09 release follows:</div>
<div>
<div>2010-05-07:</div>
<div>* SMS Gateway:  Add the capability to define the number of transmitter, receiver and/or transceiver connections to be allocated for a single SMPP connection, without requiring multiple duplicate connections to be defined.  In the [SMPP - server:port] section of  SMSGW.INI, the following settings are supported:  TransmitterCount=## and ReceiverCount=##.   TransmitterCount=## defines the number of transmitter connections to be established.  If  transceiver mode is configured, TransmitterCount specifies the number of transceiver connections to be established.  If transceiver mode is not configured, ReceiverCount specifies the number of receiver connections to be established.  Note that the number of receiver connections cannot be greater than TransmitterCount.</div>
<div>* SMS Gateway:  Performance optimisations for large message queues, especially when there are a  large number of outbound SMSC connections.  Previously documented UseRouteCache<span class="notranslate">=Yes</span> parameter setting is now enabled by default.  In the event of unexpected problems, the new routing logic can be disabled with a setting of UseRouteCache<span class="notranslate">=No</span> under the [SMSGW] header of SMSGW.INI.</div>
<div>* SMS Accounting Callbacks:  Add SMPPOptions TLV parameters to the accounting callbacks.</div>
<div>* SMS Accounting Callbacks:  Fix for a problem with accounting callbacks if text included &#8220;@@&#8221;.</div>
<div>* MMSC:  Fix problem with automatic MMS version detection that was preventing some MMS clients from recognising that the MMSC supports read receipts, causing clients to send read receipts as standard messages (bug was introduced in early 2009 versions).</div>
<div>* MMSC:  Add pre-auth callback for &#8220;MMSReadReport&#8221; when an MM1 client is submitting a message read receipt.  (A pre-auth callback is not necessarily required for this event, however it is being added for consistency, since a pre-auth callback does exist for delivery reports.)  Pre-auth delivery report callback also modified to include AccountingExtraHeaders if configured.</div>
<div>* MMSC:  Fix for MMSC routing callback not including the &#8220;From=&#8221; parameter for messages submitted via the web interface.</div>
<div>2010-04-20:</div>
<div>* SMS Gateway:  Fix for a routing issue where multiple SMSC connections have the same sender address, where one route has one or more preferred routes, and another route with the same sender address has &#8220;Support any outbound message traffic&#8221; checked.  Messages with a matching sender address should only be routed to the first route if the recipient matches a preferred route, however it was being routed to either route.  Note:  This only applies to sender based routing.</div>
<div>2010-04-15:</div>
<div>* Accounting Callbacks:  Add additional parameter &#8220;AcctInfo=&#8221; that can be included when</div>
<div>submitting a message via HTTP.  If included on submission, this parameter will be passed to</div>
<div>subsequent accounting callbacks regarding the message.</div>
<div>* MMSC:  Fix for MM4 message decoding problem when &#8220;Content-Location:&#8221; header contains a space character.  According to RFC2557, White space characters do not appear to be valid as part of a location name in this header.  A change to allow them is being implemented to address a problem where customers are receiving corrupt messages from some Verizon phones.</div>
<div>* SMS Gateway:  New performance optimisations for performance problems with large message queues, especially when combined with a large number of outbound SMSC connections.  These performance optimisations are only enabled in this version when UseRouteCache<span class="notranslate">=Yes</span> is specified under the [SMSGW] header of SMSGW.INI.  (Note:  UseRouteCache<span class="notranslate">=Yes</span> was made a default setting in 2010.05.07 release.)</div>
<div>* Internal:  Include additional error checking to detect and automatically repair SQLite databases that are used for receipt tracking.</div>
<div>* Internal:  Update SQLite databased (used for message id receipt tracking) to v3.6.23.</div>
<div>2010-03-18:</div>
<div>* SMS Gateway:  Fix for 2-way SMS problem on Windows XP systems, where early 2010 versions would have problems sending replies to 2-way SMS messages because of corrupt &#8220;SMSC<span class="notranslate">Route=</span>&#8221;  information being added to the SMS message.</div>
<div>* SMS Gateway:  Add configuration settings to disable user logging and quota management features to add performance for systems that do not need user logs and/or quota tracking.  Under the [SMSGW] header of SMSGW.INI, the following settings have been added:  DisableUserLog<span class="notranslate">=Yes</span> &#8211; This setting disables the creation of user specific log files in the  USERS\username directory structure.  DisableUserQuota<span class="notranslate">=Yes</span> &#8211; This setting disables the tracking of how many messages each user account sends in a day.</div>
<div>2010-03-10:</div>
<div>* SMS Gateway:  Fix for delivery receipts message IDs not being tracked if the sender address is alphanumeric containing a &#8216; (single quote/apostrphe) character.</div>
<div>* SMS Gateway:  Minor performance optimisation for large message queues (could be major for some installations, minor for others).</div>
<div>* WAP Push testing parameters added to meet a particular conformance test which required support for WAP Push SI, SL and CO messages using WBXML version 1.1 and the iso-8859-1 character set.  NowSMS defaults to using WBXML version 1.2 and the UTF-8 character set.  To set the WBXML version, edit SMSGW.INI and under the [SMSGW] section header, add</div>
<div>WAPPushWBXMLVersion=1.1.  To specify iso-8859-1 as the WAP Push character set, use WAPPushUseUTF8<span class="notranslate">=No</span> in the [SMSGW] section of SMSGW.INI.</div>
<div>2010-02-10:</div>
<div>* Fix for error message confusion where NowSMS would report an error about the SMPP port already being in use when the port conflict actually involved the SMTP port.</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.nowsms.com/nowsms-update-interim-release-2010-05-07/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Operator MMSC Accounting &#8211; Detecting Roaming Subscribers</title>
		<link>http://www.nowsms.com/operator-mmsc-accounting-detecting-roaming-subscribers</link>
		<comments>http://www.nowsms.com/operator-mmsc-accounting-detecting-roaming-subscribers#comments</comments>
		<pubDate>Wed, 28 Apr 2010 16:00:00 +0000</pubDate>
		<dc:creator>bryce</dc:creator>
				<category><![CDATA[Support Blog]]></category>
		<category><![CDATA[accounting callbacks]]></category>
		<category><![CDATA[billing]]></category>
		<category><![CDATA[charging]]></category>
		<category><![CDATA[operator MMSC]]></category>
		<category><![CDATA[roaming]]></category>

		<guid isPermaLink="false">http://www.nowsms.co.uk/?p=131</guid>
		<description><![CDATA[One important consideration when charging for MMS messages is whether or not the user is roaming. The NowSMS MMSC can provide this information to the MMS accounting callbacks, however the requisite information is not included in the MMS accounting callbacks by default. Before the MMSC can pass this information to the accounting callbacks, the MMSC [...]]]></description>
				<content:encoded><![CDATA[<p>One important consideration when charging for MMS messages is whether or not the user is roaming. The NowSMS MMSC can provide this information to the MMS accounting callbacks, however the requisite information is not included in the MMS accounting callbacks by default.</p>
<p>Before the MMSC can pass this information to the accounting callbacks, the MMSC must receive this additional information from the operator network. The MMSC expects to receive this information via HTTP headers that are inserted into the MMS client request by a WAP gateway or proxy. This is the same process that the MMSC uses for identifying subscribers, as detailed in the article at <a href="http://www.nowsms.com/support/bulletins/tb-nowsms-002.htm">http://www.nowsms.com/support/bulletins/tb-nowsms-002.htm</a>.</p>
<p>NowWAP 2010 and later include additional RADIUS support for the 3GPP SGSN-MCC-MNC and SGSN-ADDRESS attributes. If they are present, NowWAP generates additional HTTP headers for these attributes in any requests where it also includes the MSISDN header. There are no special configuration parameters required in NowWAP to include these parameters, they are always included when present in the Radius Accounting packet. The HTTP request that is forwarded by NowWAP will include &#8220;X-WAP-3GPP-SGSN-MMC-MNC:&#8221; and &#8220;X-WAP-3GPP-SGSN-ADDRESS:&#8221; headers with the associated values.</p>
<p>The SGSN information identifies the network node to which the subscriber is connected, making it possible to identify whether or not the subscriber is roaming.</p>
<p>It is then possible to configure the MMSC to include these headers in MMS accounting callbacks, when using NowSMS 2009 or later. To enable this, edit MMSC.INI, and add the following under the [MMSC] header:</p>
<p><span class="Apple-style-span" style="font-size: small;">AccountingExtraHeaders=X-WAP-3GPP-SGSN-MCC-MNC,X-WAP-3GPP-SGSN-ADDRESS</span></p>
<p>When this parameter is present, the MMSC looks for any of the HTTP headers in this comma delimited list and includes them in the MMS accounting callback if they are present. They are appended to the accounting callback URL like this:</p>
<p><span class="Apple-style-span" style="font-family: 'courier new';"><span class="Apple-style-span" style="font-size: small;">&amp;X-WAP-3GPP-SGSN-MCC-MNC=xxxxx&amp;X-WAP-3GPP-SGSN-ADDRESS=1.2.3.4</span></span></p>
<p>(An additional parameter that may be of interest in some environments is X-WAP-IMSI.)</p>
<p>For additional information on MMSC accounting callbacks, please see <a href="http://www.nowsms.com/mmsc-accounting-callbacks-for-billing-and-charging">http://www.nowsms.com/mmsc-accounting-callbacks-for-billing-and-charging</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.nowsms.com/operator-mmsc-accounting-detecting-roaming-subscribers/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>NowSMS and SSL Certificates &#8211; 2048 Bit Key</title>
		<link>http://www.nowsms.com/nowsms-and-ssl-certificates-2048-bit-key</link>
		<comments>http://www.nowsms.com/nowsms-and-ssl-certificates-2048-bit-key#comments</comments>
		<pubDate>Thu, 22 Apr 2010 07:00:00 +0000</pubDate>
		<dc:creator>bryce</dc:creator>
				<category><![CDATA[Support Blog]]></category>
		<category><![CDATA[SSL/TLS]]></category>

		<guid isPermaLink="false">http://www.nowsms.co.uk/?p=130</guid>
		<description><![CDATA[In the last 6 months, many SSL Certificate Authorities (CAs) have made a switch to requiring web servers to use 2048-bit private keys. It is believed that increased computing power will make the commonly used 1024-bit keys possible to break by 2011. There is a side effect in switching to the larger keys that some [...]]]></description>
				<content:encoded><![CDATA[<div><span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; "><span class="Apple-style-span"  style="font-family:'trebuchet ms';"><span class="Apple-style-span" style="font-size: medium;">In the last 6 months, many SSL Certificate Authorities (CAs) have made a switch to requiring web servers to use 2048-bit private keys.</p>
<p>It is believed that increased computing power will make the commonly used 1024-bit keys possible to break by 2011. There is a side effect in switching to the larger keys that some old web browsers don&#8217;t support > 1024 bit keys. I can&#8217;t find a good reference that tells me which versions of which browsers, but this is something to keep in mind.</p>
<p>We&#8217;ve rebuilt the NowSMS SSL library to generate 2048 bit keys when generating a new certificate signing request (CSR). An update can be downloaded at </span></span><a href="http://www.nowsms.com/download/smsssl.zip" target="_blank"><span class="Apple-style-span"  style="font-family:'trebuchet ms';"><span class="Apple-style-span" style="font-size: medium;">http://www.nowsms.com/download/smsssl.zip</span></span></a><span class="Apple-style-span"  style="font-family:'trebuchet ms';"><span class="Apple-style-span" style="font-size: medium;">.</p>
<p>To install the update, stop the NowSMS services and exit NowSMS.</span></span></span></div>
<div><span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; "><span class="Apple-style-span"  style="font-family:'trebuchet ms';"><span class="Apple-style-span" style="font-size: medium;"><br /></span></span></span></div>
<div><span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; "><span class="Apple-style-span"  style="font-family:'trebuchet ms';"><span class="Apple-style-span" style="font-size: medium;">Replace the existing SMSSSL.DLL in the Program Files\NowSMS directory with this version.</span></span></span></div>
<div><span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; "><span class="Apple-style-span"  style="font-family:'trebuchet ms';"><span class="Apple-style-span" style="font-size: medium;"><br /></span></span></span></div>
<div><span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; "><span class="Apple-style-span"  style="font-family:'trebuchet ms';"><span class="Apple-style-span" style="font-size: medium;">If you have not previously requested a signed certificate from a certificate authority, simply go to the SSL/TLS page of the NowSMS configuration, and select &#8220;Generate Server Certificate&#8221;.</span></span></span></div>
<div><span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; "><span class="Apple-style-span"  style="font-family:'trebuchet ms';"><span class="Apple-style-span" style="font-size: medium;"><br />Unfortunately, the change to 2048 bit key requirements will cause problems for renewals for customers that already have an SSL certificate signed by a certificate authority (CA).</p>
<p>When your renewal time comes up, many CAs will not renew your certificate until you switch to a 2048 bit key.</p>
<p>However, if you generate a new server certificate request with NowSMS, this forces the existing certificate to be immediately invalidated, which may cause problems for existing clients during the certificate renewal process. </span></span><i><span class="Apple-style-span"  style="font-family:'trebuchet ms';"><span class="Apple-style-span" style="font-size: medium;">(This problem is not specific to NowSMS &#8230; many web server administrators are facing similar problems.) </span></span></i><span class="Apple-style-span"  style="font-family:'trebuchet ms';"><span class="Apple-style-span" style="font-size: medium;"></p>
<p>If you face this renewal issue with NowSMS, follow this procedure:</p>
<p></span></span></span></div>
<div>
<ol>
<li><span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; "><span class="Apple-style-span"  style="font-family:'trebuchet ms';"><span class="Apple-style-span" style="font-size: medium;">Locate and backup the following NowSMS files </span></span><i><span class="Apple-style-span"  style="font-family:'trebuchet ms';"><span class="Apple-style-span" style="font-size: medium;">(in either Program Files\NowSMS for Windows XP/2003 or ProgramData\NowSMS for Windows Vista/7/2008)</span></span></i><span class="Apple-style-span"  style="font-family:'trebuchet ms';"><span class="Apple-style-span" style="font-size: medium;">:<br />SSL.CRT<br /></span></span><span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; "><span class="Apple-style-span"  style="font-family:'trebuchet ms';"><span class="Apple-style-span" style="font-size: medium;">SSL.CSR<br />SSL.CA<br />SSL.INI<br />SSL.KEY </span></span></span></span></li>
<li><span class="Apple-style-span"  style="font-family:'trebuchet ms';"><span class="Apple-style-span" style="font-size: medium;">On the &#8220;SSL/TLS&#8221; page of NowSMS, select the option to &#8220;Generate Server Certificate&#8221;. </span></span></li>
<li><span class="Apple-style-span"  style="font-family:'trebuchet ms';"><span class="Apple-style-span" style="font-size: medium;">You will be warned that doing this will invalidate your existing certificate. If you have backed up the files that I mentioned above, select <span class="notranslate">&#8220;Yes&#8221;</span> to continue. </span></span></li>
<li><span class="Apple-style-span"  style="font-family:'trebuchet ms';"><span class="Apple-style-span" style="font-size: medium;">After the new certificate signing request has been generated, copy the new versions of SSL.CRT, SSL.CSR, SSL.INI and SSL.KEY to a different location for backup. </span></span><i><span class="Apple-style-span"  style="font-family:'trebuchet ms';"><span class="Apple-style-span" style="font-size: medium;">(Note: There will not be an SSL.CA file as this file will not exist until you get your signed certificate back from the CA.) </span></span></i></li>
<li><span class="Apple-style-span"  style="font-family:'trebuchet ms';"><span class="Apple-style-span" style="font-size: medium;">Put the old backup copies of these files, </span></span><b><i><span class="Apple-style-span"  style="font-family:'trebuchet ms';"><span class="Apple-style-span" style="font-size: medium;">including SSL.CA,</span></span></i></b><span class="Apple-style-span"  style="font-family:'trebuchet ms';"><span class="Apple-style-span" style="font-size: medium;"> back in the appropriate NowSMS directory. </span></span></li>
<li><span class="Apple-style-span"  style="font-family:'trebuchet ms';"><span class="Apple-style-span" style="font-size: medium;">Use the new SSL.CSR to request a signed certificate from your CA. When you get the signed certificate back from the CA, save it as SSL.CA.</span></span></li>
<li><span class="Apple-style-span"  style="font-family:'trebuchet ms';"><span class="Apple-style-span" style="font-size: medium;">Copy the new version of these files, including SSL.CA to the appropriate NowSMS directory and restart the NowSMS services. </span></span></li>
</ol>
<p><span class="Apple-style-span" style="font-family: Verdana, Arial, Helvetica; font-size: small; -webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; "></span></div>
]]></content:encoded>
			<wfw:commentRss>http://www.nowsms.com/nowsms-and-ssl-certificates-2048-bit-key/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Mobile Number Portability (MNP) and the NowSMS MMSC</title>
		<link>http://www.nowsms.com/mobile-number-portability-mnp-and-the-nowsms-mmsc-2</link>
		<comments>http://www.nowsms.com/mobile-number-portability-mnp-and-the-nowsms-mmsc-2#comments</comments>
		<pubDate>Fri, 16 Apr 2010 13:15:00 +0000</pubDate>
		<dc:creator>bryce</dc:creator>
				<category><![CDATA[Support Blog]]></category>
		<category><![CDATA[MMSC.INI]]></category>
		<category><![CDATA[MNP]]></category>
		<category><![CDATA[operator MMSC]]></category>
		<category><![CDATA[routing]]></category>

		<guid isPermaLink="false">http://www.nowsms.co.uk/?p=129</guid>
		<description><![CDATA[When the NowSMS MMSC is used in environments with mobile number portability (MNP), the MMSC may need to query a database to determine whether a recipient is local to this MMSC or if it belongs to another operator. The interface to support this is defined in the following article: Mobile Number Portability (MNP) and the [...]]]></description>
				<content:encoded><![CDATA[<p><span style="font-size: small; -webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"><span style="font-family: verdana;">When the NowSMS MMSC is used in environments with mobile number portability (MNP), the MMSC may need to query a database to determine whether a recipient is local to this MMSC or if it belongs to another operator.</span></span></p>
<p>The interface to support this is defined in the following article:</p>
<p><span style="font-family: verdana;"><a href="http://www.nowsms.com/mobile-number-portability-mnp-and-the-nowsms-mmsc">Mobile Number Portability (MNP) and the NowSMS MMSC</a></span></p>
<p>However, there is an additional issue that is not discussed in that article.</p>
<p>By default, the routing callback is only called for recipients that are not defined to the MMSC on the &#8220;MMSC Users&#8221; page.</p>
<p>In a typical operator MMSC configuration, new MMSC user accounts are automatically provisioned the first time a user sends an MMS message. This configuration is detailed in the article titled <a href="/doc/mmsc-messaging-server/operator-mmsc-considerations">NowSMS MMSC Operator Considerations</a><span style="font-family: verdana;">.</span></p>
<p>A problem scenario develops if a subscriber moves their number from this operator to another operator, after they have already been provisioned on the MMSC. The MMSC will see the user account and attempt to deliver the MMS message directly, without performing a routing lookup.</p>
<p>To address this scenario, an additional MMSC configuration parameter exists. Under the [MMSC] header or MMSC.INI, add the parameter ForceRoutingCallback<span class="notranslate">=Yes</span>. This setting will cause the routing lookup to always occur.</p>
<p>Prior to the 2009-06-30 release, to address this issue, we recommended instead using the setting DisableMMSDirectDelivery<span class="notranslate">=Yes</span>, a setting name which sounds contrary to the intended purpose. This other setting was originally added to NowSMS for a different purpose, but it does have the side effect of always forcing the routing callback.</p>
<p>We no longer recommend the use of DisableMMSDirectDelivery<span class="notranslate">=Yes</span> for this purpose, and instead recommend the ForceRoutingCallback<span class="notranslate">=Yes</span> setting. This is because DisableMMSDirectDelivery<span class="notranslate">=Yes</span> has an extra side effect of disabling the automatic version tracking of MMS clients. Because the MMS read receipt format was not introduced until OMA MMS v1.2, this can cause some clients to generate read receipts as regular MMS messages instead of using the read receipt format.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.nowsms.com/mobile-number-portability-mnp-and-the-nowsms-mmsc-2/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>NowSMS Release &#8211; 2010.02.09</title>
		<link>http://www.nowsms.com/nowsms-version-2010</link>
		<comments>http://www.nowsms.com/nowsms-version-2010#comments</comments>
		<pubDate>Tue, 09 Feb 2010 10:00:41 +0000</pubDate>
		<dc:creator>brett</dc:creator>
				<category><![CDATA[Software Updates]]></category>

		<guid isPermaLink="false">http://www.nowsms.com/?p=1383</guid>
		<description><![CDATA[This document provides release history information for the current release version of the Now SMS &#38; MMS Gateway, which can be downloaded at http://www.nowsms.com/download-free-trial. This document covers changes between the last major 2009 release and version 2010.02.09.  An interim update may be available at the following link:   http://www.nowsms.com/nowsms-update. The release history information provides additional information on [...]]]></description>
				<content:encoded><![CDATA[<p>This document provides release history information for the current release version of the Now SMS &amp; MMS Gateway, which can be downloaded at <a href="http://www.nowsms.com/download-free-trial">http://www.nowsms.com/download-free-trial</a>.</p>
<p>This document covers changes between the last major 2009 release and version 2010.02.09.  An interim update may be available at the following link:   <a href="http://www.nowsms.com/nowsms-update">http://www.nowsms.com/nowsms-update</a>.</p>
<p>The release history information provides additional information on configuration settings that have been added to address unusual configuration requirements.</p>
<p><span id="more-1383"></span></p>
<p><strong>2010-02-03:</strong></p>
<p>* Fixes for UseRouteQueues<span class="notranslate">=Yes</span> setting when &#8220;SMSC<span class="notranslate">Route=</span>&#8221; is set by a PreAuth SMS Accounting callback.</p>
<p><strong>2010-01-27:</strong></p>
<p><strong>* 2-way SMS:</strong> Fix for problem where SMPPOptions settings and service type were not preserved when recombining a received multipart SMS for passing to a 2-way command.</p>
<p><strong>* MMS Gateway/MM1:</strong> Fix for problems routing MMS delivery reports back to an MM7 connection if the MMSC host name is not configured (which is always the case in NowSMS Lite).  Also fix a problem where MMS delivery reports were not automatically routed to the default route configured for the modem&#8217;s MMS receive settings.</p>
<p><strong>* SMS Gateway/SMPP Client:</strong> Update configuration parameter that allows the &#8220;users&#8221; directory to be moved to another location other than beneath the NowSMS program directory.  This directory contains queues of received messages waiting for SMPP or POP3 clients, as well as user specific log files.  Under the [SMSGW] header in SMSGW.INI, use UsersDir=d:\path\ or UsersDir=\\Server\Volume\path\ to specify the location of the SMS &#8220;users&#8221; directory.  When this parameter is set, the <span class="notranslate">&#8220;SMS Users&#8221;</span> database files (SMSUSERS.D2A and SMSUSERS.D2I) will also be located in this directory (by default, when this parameter is not set, these files are in the NowSMS program directory).  With this release, it is now possible to separate the queued messages and log files from other user related data.  Under the [SMSGW] header, use UsersQDir=d:\path\ or UsersQDir=\\Server\Volume\path\ to specify the location of the user directories that will hold queued messages only.  Under the [SMSGW] header, use UsersLogDir=d:\path\ or UsersLogDir=\\Server\Volume\path\ to specify the location of the user directories that will hold log files.  Other user directories and files will be stored relative to the &#8220;UsersDir=&#8221; setting, or in their default location if &#8220;UsersDir=&#8221; is not present.</p>
<p><strong>* SMPP:</strong> Add SMSC specific configuration option to suppress TLV receipt parameters when delivery receipts are routed to an outbound SMSC connection (this would generally only happen when the ReRouteReceived option is used).  Under the [SMPP - server:port] header of SMSGW.INI, if you want to suppress the receipt TLV parameters for messages routed to this server, add IgnoreReceiptTLV<span class="notranslate">=Yes</span>.</p>
<p><strong>2010-01-19:</strong></p>
<p><strong>* SMS Gateway:</strong> Add a configuration option to add separate queues for explicitly routed messages.  In SMSGW.INI, under the [SMSGW] header, add UseRouteQueues<span class="notranslate">=Yes</span>.</p>
<p><strong>* SMS Gateway:</strong> Add a configuration option to possibly speed up receiving of SMS messages when accounting callbacks are enabled and SMPP async mode is enabled for a connection.  When this configuration option is enabled, inbound SMS message processing and accounting callbacks are moved to a separate thread.  To enable this setting, edit SMSGW.INI, and under the [SMSGW] header add AsyncReceiveMessages<span class="notranslate">=Yes</span>.  (Note:  This setting is still considered experimental.)</p>
<p><strong>2010-01-06:</strong></p>
<p><strong>* MMSC:</strong> Fix for problem with MSISDN header parsing where the MMSC was looking for both the X-MSISDN header and a value configured for the &#8220;MSISDNHeader=&#8221; setting, when it should only be looking for the &#8220;MSISDNHeader=&#8221; setting.</p>
<p><strong>2009-12-24:</strong></p>
<p><strong>* SMS Gateway:</strong> Fix for problem where if &#8220;Separate outbound message queues&#8221; for each user is not enabled, NowSMS would not send out any SMS messages that originated via SMTP.</p>
<p><strong>2009-12-22:</strong></p>
<p><strong>* SMS Gateway:</strong> Fix for problem where NowSMS would keep re-initialising a modem if the user had never edited and saved properties for the modem after the initial add.</p>
<p><strong>2009-12-21:</strong></p>
<p><strong>* SMPP:</strong> If routing a delivery receipt via an outbind SMSC connection, use esm_class of 8 in submit_sm.  (Previously, a value of 4 was being used, which is not valid in submit_sm.)  Also add a configuration option to suppress TLV paramters (message_state and receipted_message_id) for delivery receipts routed via an outbind SMSC connection.  To suppress these TLV parameters, edit SMSGW.INI, and under the appropriate [SMPP - server:port] section header, add IgnoreReceiptTLV<span class="notranslate">=Yes</span>.</p>
<p><strong>* SMPP:</strong> Add message_id to data_sm_resp if we receive a data_sm from an outbind SMSC connection, and the message is rerouted to another outbind SMSC connection because of a &#8220;ReRouteReceived&#8221; configuration setting.</p>
<p><strong>* SMS Gateway:</strong> Update preferred service_type handling for routing particular service_type values to specific SMSC connections to support pattern matching and &#8220;best match&#8221;.  See http://www.nowsms.com/discus/messages/1/42107.htm and http://www.nowsms.com/discus/messages/1/24460.html.</p>
<p>* Add option to disable writing anything to the Windows Event Log.  Add DisableEventLog<span class="notranslate">=Yes</span> under [SMSGW] header in SMSGW.INI.</p>
<p><strong>* SMS Gateway:</strong> Allow retry parameters to be specified on a per-SMSC connection basis, so that different connections can have different retry settings.  If any of the following retry parameters is found in the SMSC specific section of SMSGW.INI, it will override the default setting under the [SMSGW] header:  RetryDelay, RetryDelayMultiplier, RetryDelayAfterAttempts, RetryDelayMax, RetryMaxAttempts, InitRetryDelay, InitRetryDelayMultiplier, InitRetryDelayAfterAttempts, InitRetryDelayMax.</p>
<p><strong>2009-12-08:</strong></p>
<p><strong>* MMSC/MM4:</strong> Implement checks to prevent circular routing for MM4 interconnects.  If a message is received via an MM4 connection, and the MMSC determines that its delivery path to the recipient is via that same MM4 connection, the message will be rejected with a negative response in the MM4_forward.RES.  For compatibility with previous releases, this check can be disabled with the setting DisableCircularRoutingCheck<span class="notranslate">=Yes</span> in MMSC.INI.</p>
<p><strong>2009-12-01:</strong></p>
<p><strong>* MMSC:</strong> Fix for MMSUSER.EXE -quotareport listing up to 1000 blank user entries after the last user.</p>
<p><strong>2009-11-25:</strong></p>
<p><strong>* SMS Gateway:</strong> Fix for a problem where individual parts of a multipart message were not routed out via the same SMSC connection if NowSMS was able to fully route one part before the next part was received.</p>
<p><strong>* SMPP:</strong> Add a configuration option to override the character set for received SMS messages.  A customer encountered a situation where the SMSC was encoding text using the iso-8859-1 character set.  However, the SMSC was setting the character set flag in the message to indicate that text was using the GSM character set.  NowSMS was configured to use the iso-8859-1 character set with this SMSC, however, since the character set was explicitly set as GSM in the received message, NowSMS could not decode the text properly.  To address this issue, it is possible to add SMSCCharsetReceiveTextOverride<span class="notranslate">=Yes</span> under the [SMPP - server:port] section of SMSGW.INI.  When this parameter is present, NowSMS will always interpret received text messages as being encoded in the character set configured for the connection.</p>
<p><strong>* SMPP:</strong> Add a configuration setting to allow a default PID value to be used for all messages routed to a specific SMSC connection.  Under the [SMPP - server:port] section of SMSGW.INI, add DefaultPID=XX, where XX is the PID value in hex.</p>
<p><strong>2009-11-04:</strong></p>
<p><strong>* MMSC:</strong> When the sender of an MMS message is an e-mail address (instead of a short code or phone number), and the message arrives via a VASP connection, requesting a delivery receipt, the MMSC would always try to send the delivery receipt back via e-mail.  This was only an issue if the MMSC was delivering the message directly, if it was routing to an upstream MMSC connection, delivery receipts back to an e-mail recipient would be routed correctly.</p>
<p><strong>* SMS Gateway:</strong> Add a configuration option to use 16-bit reference numbers when generating concatenated multipart messages.  By default, NowSMS uses 8-bit reference numbers, which allows the most characters to be fit in a single SMS.  However, a customer observed that when sending binary messages to a Java application on many Motorola phones, one byte of data per message segment would be lost when using 8-bit reference numbers due to a bug in the phone software.  When 16-bit reference numbers are used, message length per segment rules change.  For long text messages, instead of 153 characters per segment, only 152 characters per segment can be achieved.  For Unicode messages, instead of 67 characters per segment, only 66 characters per segment can be achieved.  For binary messages, 133 bytes of binary data can be included per segment, instead of 134 bytes.  To enable 16-bit reference numbers, edit SMSGW.INI, and under the [SMSGW] section header, add ConcatRef16Bit<span class="notranslate">=Yes</span>.  Note that when this setting is applied, 16-bit reference numbers are only used when NowSMS performs the segmentation (message submitted either via HTTP, or via SMPP using a single message_payload submission) &#8230; NowSMS does not resegment messages that have already been segmented by the submitting client.</p>
<p><strong>2009-10-28:</strong></p>
<p><strong>* SMPP:</strong> Add SMPP character support for an unusual &#8220;Roman-8&#8243; character set needed for a specific SMSC.</p>
<p><strong>2009-10-23:</strong></p>
<p><strong>* GSM Modem:</strong> Add code to detect a system waking up from sleep or hibernation where we may need to reset the modem.</p>
<p><strong>* SMPP:</strong> Add configuration setting to prevent NowSMS from remapping GSM message class DCS values which are invalid in SMPP to valid SMPP values.  To apply this setting for a specific SMSC, edit SMSGW.INI, and under the SMSC specific section (e.g., [SMPP - server:port]), add emapMessageClassDCS<span class="notranslate">=No</span>.</p>
<p><strong>2009-10-21:</strong></p>
<p><strong>* SMS/GSM Modem:</strong> For messages received via GSM modem, if a phone number property is not set for the modem, read the phone number from the modem and apply it as the received phone number.</p>
<p><strong>* SMSLite:</strong> Configuration program was not allowing the <span class="notranslate">&#8220;Route SMS to local user&#8221;</span> setting to select users.</p>
<p><strong>2009-10-19:</strong></p>
<p><strong>* SMS/GSM Modem:</strong> Fix for problem initialising Telit HSPA Modem.  Previously, attempts to initialise modem were returning error:  &#8220;Error initializing modem &#8211; 0&#8243;</p>
<p><strong>2009-10-12:</strong></p>
<p><strong>* MMSC:</strong> EnableReadReceipt<span class="notranslate">=No</span> was disabling read receipts from being generated by local recipients, but it was not disabling the read receipt request from being routed to external recipients.  It now blocks both.</p>
<p><strong>2009-10-07:</strong></p>
<p><strong>* SMPP Server:</strong> Fix for change in 2009.10.01 version which caused server to accept messages from an SMPP client even if a user was over quota.</p>
<p><strong>2009-10-01:</strong></p>
<p><strong>* GSM Modem:</strong> More GSM modem handling updates.  Added code to reset the modem after persistent errors sending SMS or MMS messages to try to recover &#8220;hung&#8221; modems.  MMS sending updated to address an issue where if a modem was removed/reinserted, the MMS part of NowSMS could not recognize the modem again until the service restarted.  (This could also happen with buggy modems that restart themselves periodically.)  An additional option was added to the GSM modem configuration to trigger NowSMS to restart the server if a modem becomes unresponsive and NowSMS is unable to access the modem.  (Note:  NowSMS retries for about 15 minutes before triggering a reboot when this option is enabled.)</p>
<p><strong>* SMPP/WDP Adaptation:</strong> Fix for 2009.06.30 change.  If BinaryDCS override is not specified for the SMPP connection, and WDP Adaptation is being used, continue to remap DCS value 0xF5 to 4, as was done in earlier releases.</p>
<p><strong>* SMPP Server:</strong> When accepting messages from an SMPP client, if the client specifies TON=1 (international), but the address starts with &#8220;0&#8243;, assume that the number is in local format, not international.</p>
<p><strong>2009-09-16:</strong></p>
<p><strong>* MMSC/MM4:</strong> Work-around for situation where MM4 delivery reports were not being accepted because the recipient address (original sender) for the delivery report was not being specified in the &#8220;RCPT TO:&#8221; command.  Instead, the other MMSC was specifying the MMSC system address in the &#8220;RCPT TO:&#8221; command and only included the original recipient in the &#8220;To:&#8221; header of the message.</p>
<p><strong>2009-09-15:</strong></p>
<p><strong>* SMS Gateway:</strong> Fix for an exception error that could occur with segmented SMS messages submitted to recipient phone numbers longer than 70 characters.  Problem most frequently occurred with multiple outbound SMSC connections.</p>
<p><strong>* Receiving MMS via GPRS Modem:</strong> Fix for problem where when received SMS messages are being routed to a local user, NowSMS would also route MMS notifications to that local user account instead of processing them as received MMS messages.</p>
<p><strong>2009-09-08:</strong></p>
<p><strong>* MM7:</strong> Add configuration option to allow selected MM7 status codes to be classified as success or retry status codes.  By default, NowSMS accepts only StatusCode 1000 as an inidication of successful message submission.  To add additional status codes, edit VASPOUT\accountname\VASP.INI, and under the [VASP] header, define SuccessStatusCodes=1000,1001,1002 (comma delimited list of status codes).  Similarly, NowSMS considers all errors except 2001, 3003, 4000, 4006 and 4007 to be permanent status errors.  If NowSMS receives a StatusCode response with any other value, the message submission will not be reattempted (3003 is a special status code case indicating that the MMSC only accepts one recipient at a time).  To add additional StatusCode responses that should be treated as temporary errors, edit VASPOUT\accountname\VASP.INI, and under the [VASP] header, add RetryStatusCodes=2001,4000,4006,4007 (comma delimited list of status codes, include the default StatusCodes that should be retried).</p>
<p><strong>2009-08-31:</strong></p>
<p><strong>* SMPP:</strong> Add SMPP character support for the unusual &#8220;ASCII 437&#8243; code page that is used by Telstra.</p>
<p><strong>* SMPP:</strong> Add configuration setting to set the initial SMPP sequence_number value to be used by a connection as a random value.  To enable this setting, edit SMSGW.INI, and under the [SMSGW] header add SMPPSeqRandom<span class="notranslate">=Yes</span>.</p>
<p><strong>2009-08-26:</strong></p>
<p><strong>* GSM Modem Handling:</strong> If errors occurred when sending MMS messages via a modem route, the MMSC would not timely release the modem to allow SMS sending to continue.</p>
<p><strong>* SMPP:</strong> Fix for improper sequence_number generation issues.</p>
<p>* Add &#8220;BCC&#8221; option for sending an MMS message via the web interface.  If using NowSMS proprietary URL submission, include &#8220;MMSBCC<span class="notranslate">=Yes</span>&#8221; to force recipients to be BCC.</p>
<p><strong>* SMS Gateway/SMPP Client:</strong> Update configuration parameter that allows the &#8220;users&#8221; directory to be moved to another location other than beneath the NowSMS program directory.  This directory contains queues of received messages waiting for SMPP or POP3 clients, as well as user specific log files.  Under the [SMSGW] header in SMSGW.INI, use UsersDir=d:\path\ or UsersDir=\\Server\Volume\path\ to specify the location of the SMS &#8220;users&#8221; directory.  When this parameter is set, the <span class="notranslate">&#8220;SMS Users&#8221;</span> database files (SMSUSERS.D2A and SMSUSERS.D2I) will also be located in this directory (by default, when this parameter is not set, these files are in the NowSMS program directory).  With this release, it is now possible to separate the queued messages from other user related data and logs.  Under the [SMSGW] header, use UsersQDir=d:\path\ or UsersQDir=\\Server\Volume\path\ to specify the location of the user directories that will hold queued messages only.  Other user directories and files will be stored relative to the &#8220;UsersDir=&#8221; setting, or in their default location if &#8220;UsersDir=&#8221; is not present.</p>
<p><strong>* MMSC/MM4:</strong> Add the ability to use different source/sender domain names for different groups of users.  This may be useful when multiple mobile operator networks are serviced by a single MMSC.  To specify the outbound domain name, edit VASPOUT\accountname\VASP.INI for the outbound MM4 connection &#8230; creating a [DomainMapping] section.  Within this section, specify address pattern to domain name mappings using the following format addresspattern=domain.name (e.g., +111*=domain1.com).  Note:  To support these additional domain names when receiving messages, add domain name alias settings under the [MMSC] section of MMSC.INI using the format DomainNameAlias1=domain1.com &#8230; DomainNameAlias2=domain2.com &#8230; etc.</p>
<p><strong>2009-08-20:</strong></p>
<p><strong>* GSM Modem Handling:</strong> Internal updates for improved performance and compatiblity.  Change the default receive polling interval to 3 seconds when &#8220;Direct to Modem&#8221; is the <span class="notranslate">&#8220;SMS Message Storage&#8221;</span> type.  The polling interval is set to 2 seconds for other <span class="notranslate">&#8220;SMS Message Storage&#8221;</span> types (prior to NowSMS 2009, it was always 1 second).  To change the default add ReceivePoll=##, where ## is the number of seconds, under the appropriate [Modem - driver name] section header of SMSGW.INI.  Modem polling logic also optimised to be less resource intensive on the modem.  If this change causes problems receiving messages with older phone modem implementations that worked with previous version of NowSMS, add OldPollingLogic<span class="notranslate">=Yes</span> under the appropriate [Modem - driver name] section header of SMSGW.INI.</p>
<p><strong>* MMSC:</strong> When routing MM7 to MM1, do not encode &#8220;Content-Disposition:&#8221; headers in the MM1 message, as this seems to confuse some operator MMSCs.</p>
<p><strong>2009-08-15:</strong></p>
<p><strong>* 2-way SMS processing:</strong> Non-delivery receipts generated by NowSMS when an SMSC connection rejected a message were being marked with a &#8220;.IN&#8221; extension instead of a &#8220;.REC&#8221; extension.  While not necessarily a problem, this could cause delays for other &#8220;.IN&#8221; messages being processed.  These receipts are now marked with a &#8220;.REC&#8221; extension so that they will be processed in the 2-way SMS receipt queue instead of the normal inbound message queue.</p>
<p><strong>2009-08-14:</strong></p>
<p><strong>* Multimedia Content Push:</strong> WML format is used by default.  HTML format is only used if the receiving client does not support WML.</p>
<p>* Internal changes (updated debug log information) for 2-way SMS processing in the SMS-IN directory.</p>
<p><strong>* GSM Modem Handler:</strong> Improved compatibility with SonyEricsson USB modems (especially MD300).</p>
<p><strong>2009-08-05:</strong></p>
<p><strong>* Multimedia Content Push:</strong> Fix XHTML generated for multimedia content push.  Update install to include missing CSS file for XHTML version of multimedia content push.</p>
<p><strong>* SMS Gateway:</strong> Modem handling &#8211; Change <span class="notranslate">&#8220;Default&#8221;</span> and &#8220;Direct to Modem&#8221; handling to prefer SIM message storage.</p>
<p><strong>2009-07-29:</strong></p>
<p>* Fix for 2009 changes to multimedia WAP push causing problems displaying content that includes Unicode text.</p>
<p><strong>2009-07-23:</strong></p>
<p><strong>* SMS Gateway:</strong> When NowSMS generates a non-delivery receipt because an upstream SMSC connection has rejected a message, the non-delivery receipt was not being logged.  It is now logged to the SMSIN log file.</p>
<p><strong>* SMS Gateway:</strong> Add configuration option to suppress the creation of &#8220;.ERR&#8221; files when an SMSC connection rejects a message.  To suppress these files, edit SMSGW.INI, and under the [SMSGW] header, add ErrorQRetainDays=0.</p>
<p><strong>2009-07-21:</strong></p>
<p><strong>* MMSC:</strong> Fix for AccountingKeepAlive<span class="notranslate">=No</span> and RoutingKeepAlive<span class="notranslate">=No</span> settings not working for MMS accounting and routing callbacks.  Use of these settings would cause a handle leak and after a period of time, the MMSC would no longer be able to accept or initiate connections.</p>
<p><strong><br />
</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.nowsms.com/nowsms-version-2010/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>XML Status Query for SMSC Connection Status and Statistics</title>
		<link>http://www.nowsms.com/xml-status-query-for-smsc-connection-status-and-statistics-2</link>
		<comments>http://www.nowsms.com/xml-status-query-for-smsc-connection-status-and-statistics-2#comments</comments>
		<pubDate>Tue, 02 Feb 2010 19:24:00 +0000</pubDate>
		<dc:creator>bryce</dc:creator>
				<category><![CDATA[Support Blog]]></category>
		<category><![CDATA[connection status]]></category>
		<category><![CDATA[statistics]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://www.nowsms.co.uk/?p=128</guid>
		<description><![CDATA[We posted details about an XML-based NowSMS status query in an earlier posting: http://www.nowsms.com/xml-status-query-for-smsc-connection-status-and-statistics This query reports information similar to what is reported on the &#8220;Status&#8221; page of the NowSMS configuration dialog. The query results include information about SMSC connection status, the number of messages processed via the different connections, and the number of messages [...]]]></description>
				<content:encoded><![CDATA[<div><span style="font-family: arial;"><span style="font-size: medium;"></p>
<div>We posted details about an XML-based NowSMS status query in an earlier posting: <a href="http://www.nowsms.com/xml-status-query-for-smsc-connection-status-and-statistics">http://www.nowsms.com/xml-status-query-for-smsc-connection-status-and-statistics</a></div>
<div></div>
<div>This query reports information similar to what is reported on the &#8220;Status&#8221; page of the NowSMS configuration dialog. The query results include information about SMSC connection status, the number of messages processed via the different connections, and the number of messages pending in the queues, among other information.</div>
<div></div>
<div>The format of the XML data given in the example is relatively straight-forward, but in some environments it may make it easier to have an XSD file to document the format.  An XSD file can be downloaded at the following link <a href="http://www.nowsms.com/download/xmlstatus.xsd.txt">http://www.nowsms.com/download/xmlstatus.xsd.txt</a>.</div>
<div></div>
<div>For additional information on the XML status query, please refer to the earlier posting: <a href="http://www.nowsms.com/xml-status-query-for-smsc-connection-status-and-statistics">http://www.nowsms.com/xml-status-query-for-smsc-connection-status-and-statistics</a></div>
<p></span></span></div>
]]></content:encoded>
			<wfw:commentRss>http://www.nowsms.com/xml-status-query-for-smsc-connection-status-and-statistics-2/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>E-Mail Notification for Updates</title>
		<link>http://www.nowsms.com/updates-email</link>
		<comments>http://www.nowsms.com/updates-email#comments</comments>
		<pubDate>Fri, 01 Jan 2010 00:00:59 +0000</pubDate>
		<dc:creator>brett</dc:creator>
				<category><![CDATA[Software Updates]]></category>

		<guid isPermaLink="false">http://www.nowsms.com/?p=3966</guid>
		<description><![CDATA[An e-mail notification service is available for NowSMS software update information.  <a href="http://feedburner.google.com/fb/a/mailverify?uri=nowsmsupdates&#38;loc=en_US" target="_blank">To receive e-mail notifications for NowSMS software updates, please subscribe using this Google FeedBurner link.</a>

]]></description>
				<content:encoded><![CDATA[<p>An e-mail notification service is available for NowSMS software update information.  <a href="http://feedburner.google.com/fb/a/mailverify?uri=nowsmsupdates&amp;loc=en_US" target="_blank">To receive e-mail notifications for NowSMS software updates, please subscribe using the following Google FeedBurner link.</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.nowsms.com/updates-email/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>NowSMS Group Text Messaging</title>
		<link>http://www.nowsms.com/now-sms-group-text-messaging</link>
		<comments>http://www.nowsms.com/now-sms-group-text-messaging#comments</comments>
		<pubDate>Tue, 08 Dec 2009 09:09:00 +0000</pubDate>
		<dc:creator>bryce</dc:creator>
				<category><![CDATA[Support Blog]]></category>
		<category><![CDATA[group SMS]]></category>
		<category><![CDATA[group text]]></category>

		<guid isPermaLink="false">http://www.nowsms.co.uk/?p=127</guid>
		<description><![CDATA[The NowSMS Group Text feature is designed to facilitate group communications over SMS. At it&#8217;s core, it&#8217;s about sending a single text message, and having that text message automatically forwarded to a group of people. NowSMS Group Text is a free add-on for the Now SMS &#38; MMS Gateway and NowSMS Lite. NowSMS Group Text [...]]]></description>
				<content:encoded><![CDATA[<div>The NowSMS Group Text feature is designed to facilitate group communications over SMS.</div>
<div></div>
<div>At it&#8217;s core, it&#8217;s about sending a single text message, and having that text message automatically forwarded to a group of people.</div>
<div></div>
<div>
<div><b><i>NowSMS Group Text is a free add-on for the Now SMS &amp; MMS Gateway and NowSMS Lite.</i></b></div>
<div><b><i><br /></i></b></div>
<div><b><i>NowSMS Group Text will only work with NowSMS or NowSMS Lite versions 2008.06.03 or later.  It will not work with earlier versions of NowSMS.</i></b></div>
<div><b><i><br /></i></b></div>
<div><b><i><span class="Apple-style-span" style="font-style: normal; font-weight: normal; ">NowSMS Group Text  is a work in progress.  Before making the first official release available, we wanted to make a pre-release available for download, and get feedback from existing NowSMS customers.</span></i></b></div>
<div></div>
</div>
<div>The best way to explain NowSMS Group Text is to describe some of the different possible usage scenarios.</div>
<div></div>
<div>Smaller teams and workgroups can use NowSMS Group Text to easily share information and communicate as a group.  Any member of a group can send a text message that is automatically forwarded and rebroadcast to the entire group.</div>
<div></div>
<div>Larger teams and workgroups can limit which group members are allowed to send a broadcast message to the entire group.  Authorised users can send broadcast messages to the group, while standard users only receive these broadcast messages.</div>
<div></div>
<div>It is also possible for end users to opt-in and opt-out of group communications by sending text commands to the NowSMS Group Text server via SMS.  Group managers and/or event organisers can create groups and invite users to subscribe to group broadcasts by sending a text message to the NowSMS Group Text Server, freeing them of the need to manually manage subscriber lists.</div>
<div></div>
<div>NowSMS Group Text is implemented using the 2-way command interface of NowSMS, and is compatible with any SMSC interface that supports both sending and receiving SMS messages (GSM modems, SMPP, UCP/EMI, CIMD2).  It is also possible to receive SMS message using one SMSC interface, such as a GSM modem, while sending outbound messages via a different SMSC connection, such as an SMPP or HTTP based provider.</div>
<div></div>
<div></div>
<div></div>
<div><b>Installing NowSMS Group Text</b></div>
<div></div>
<div>NowSMS Group Text will only work with NowSMS or NowSMS Lite versions 2008.06.03 or later.  It will not work with earlier versions of NowSMS.</div>
<div></div>
<div>The Group Text add-on can be downloaded at <a href="http://www.nowsms.com/download/grouptext.zip">http://www.nowsms.com/download/grouptext.zip</a>.</div>
<div></div>
<div>For product support, please visit the discussion forum at <a href="http://www.nowsms.com/grouptext">http://www.nowsms.com/grouptext</a>.</div>
<div></div>
<div>The current pre-release version of the NowSMS Group Text feature requires the manual copying of 2 files to the NowSMS program directory (usually C:\Program Files\NowSMS or C:\Program Files (x86)\NowSMS on 64-bit versions of Windows):  SMSGROUPER.EXE and SMSGROUPCMD.EXE.</div>
<div></div>
<div>In NowSMS, on the “2-way” page of the configuration dialog, SMSGROUPER.EXE must be installed as a 2-way command.</div>
<div></div>
<div>To define SMSGROUPER.EXE as a 2-way command, use the following settings:</div>
<div></div>
<div>
<ul>
<li>SMS Command Prefix = *</li>
<li>Command To Execute = &#8220;C:\Program Files\NowSMS\smsgrouper.exe&#8221; /s <span class="notranslate">@@SENDER@@</span> /r <span class="notranslate">@@RECIP@@</span> /t <span class="notranslate">@@FULLSMS@@</span></li>
<li>Command returns response text = checked</li>
</ul>
</div>
<div>For most installations, “Receive Phone Number(s)” can be left blank.  Leaving this field blank means that the SMSGROUPER command will process all received SMS messages.  If you have multiple GSM modems or are receiving SMS messages for multiple phone numbers or short codes, then you should specify the phone number or short code that is to be allocated for Group Text in this field.</div>
<div></div>
<div></div>
<div></div>
<div><b>Creating a Group</b></div>
<div></div>
<div>The current user interface for NowSMS Group Text is designed to allow groups to be created and maintained via SMS.</div>
<div></div>
<div>A command line utility is also provided so that admin commands can be issued from the computer running the NowSMS Group Text server.  All of the administrative commands supported by the SMS interface are supported from the command line interface by running SMSGROUPCMD.EXE and including the command on the command line after SMSGROUPCMD.</div>
<div></div>
<div>Before any groups can be created, a special user account must be created on the NowSMS server in the “SMS Users” area.  The user name give to this user account should be the phone number of the owner (or administrator) of the group.  This phone number is not the phone number allocated for sending/receiving group text messages.  This is a phone number that is allowed to send administrative commands into the group text server for group creation and/or maintenance.  In most cases, this phone number should be defined in full international format starting with a  “+”  (e.g., +4477777777777).</div>
<div></div>
<div>Once this user account is created, it is possible to send a message from the group owner phone number into the group text server to create a group.</div>
<div></div>
<div>This can be done by simply sending a text message that says:  CREATE groupname (where groupname is the name of the group to be created).</div>
<div></div>
<div>Note:  When using the command line interface, it is necessary to include the owner phone number following the group name. (For example:  SMSGROUPCMD CREATE groupname ownerPhoneNumber)</div>
<div></div>
<div>Several parameters can be specified in the CREATE command to specify group attributes.  These parameters can be added to the end of the CREATE command.</div>
<div></div>
<div>PUBLIC or PRIVATE – If the group is PUBLIC (default), then anyone will be allowed to join the group.  If the group is PRIVATE, any join requests will be forwarded to the group owner and/or administrator for approval before joining.</div>
<div></div>
<div>MOD, UNMOD or BROADCAST – This specifies whether or not group members are allowed to submit messages that are forwarded/rebroadcast to the entire group.  An UNMODerated (default) group means that and any group member can send a message to the group.  A MODerated group means that specially authorised group members can send a message to the group, messages sent by regular group members will be forwarded to the group owner and/or administrator for approval before being sent to the group.  A BROADCAST group means that only specially authorised group members can send a message to the group.</div>
<div></div>
<div>NOTIFY or NONOTIFY – This specifies whether or not the group owner and/or administrators are notified with a text message whenever a member joins or leaves the group.  NONOTIFY (default) means that the group owner is not notified.  NOTIFY means that the group owner is notified whenever a new member joins the group, or an existing member leaves the group.</div>
<div></div>
<div></div>
<div><b>Modifying Group Properties</b></div>
<div></div>
<div>These group attributes can be changed after a group has been created by sending the command ADMIN groupname PROP followed by any of the attributes described in the previous section.</div>
<div></div>
<div></div>
<div><b>Authorised Members for Broadcast or Moderated Groups</b></div>
<div></div>
<div>For broadcast or moderated groups, members that are allowed to send messages to the group without moderator approval can be managed via the ADMIN groupname AUTH command.</div>
<div></div>
<div>To add a member to the authorised list, use ADMIN groupname AUTH ADD phonenumber</div>
<div></div>
<div>To remove a member from the authorised list, use ADMIN groupname AUTH REMOVE phonenumber</div>
<div></div>
<div>The command line interface also supports an additional parameter to return a list of currently authorised members:  ADMIN groupname AUTH LIST</div>
<div></div>
<div></div>
<div><b>Specifying Alternative Administrators</b></div>
<div></div>
<div>For moderated and private groups, administrators must approve certain transactions (new members and/or message postings) before they are processed.  By default, the group owner is an administrator.  It is also possible to assign additional administers.</div>
<div></div>
<div>To add an administrator, use ADMIN groupname ADMIN ADD phonenumber</div>
<div></div>
<div>To remove an administrator, use ADMIN groupname ADMIN REMOVE phonenumber</div>
<div></div>
<div>The command line interface also supports an additional parameter to return a list of administrators:  ADMIN groupname ADMIN LIST</div>
<div></div>
<div></div>
<div><b>Adding Members</b></div>
<div></div>
<div>Group owners and administrators are allowed to add new members to a group without requiring the member to first send a message asking to join.</div>
<div></div>
<div>To add a member, use the command ADMIN groupname ADD phonenumber username</div>
<div></div>
<div></div>
<div><b>Removing and/or Blocking Members</b></div>
<div></div>
<div>Group owners and administrators are allowed to remove members from a group, and optionally block the member from rejoining the group.</div>
<div></div>
<div>To remove a member, use the command ADMIN groupname REMOVE phonenumber or username</div>
<div></div>
<div>To remove a member and block them from rejoining the group, use the command ADMIN groupname BLOCK phonenumber or username</div>
<div></div>
<div></div>
<div><b>Listing Group Members</b></div>
<div></div>
<div>The command line interface supports a command to return a list of all group members.  To return this member list, using the command ADMIN groupname LIST</div>
<div></div>
<div></div>
<div><b>Posting a Message to The Group</b></div>
<div></div>
<div>The command line interface supports a command to post a message to the group.  The format of this command is:  ADMIN groupname POST text to post.</div>
<div></div>
<div>To post group messages via SMS, please refer to the next section “Joining Groups and Posting Messages to a Group”.</div>
<div></div>
<div></div>
<div></div>
<div><b>Joining Groups and Posting Messages to a Group</b></div>
<div></div>
<div>Members can join a group by sending a message to the group text server with the text JOIN groupname username</div>
<div></div>
<div>Groupname is the name of the group that they are asking to join.  Username is a user handle that is used when they post messages to the group.</div>
<div></div>
<div>Members can leave a group by sending a message to the group text server with the text LEAVE groupname</div>
<div></div>
<div>Members can also leave all groups by sending a message to the group text server with the text LEAVE or STOP, without specifying a group name.</div>
<div></div>
<div>Members can post a message to a group by sending a message to the group text server that starts with the text @groupname, where groupname is the name of the group.  For example, if the group is named simply “B”.</div>
<div></div>
<div>@B This is a message to the entire group.</div>
<div></div>
<div>If the group is moderated, the message will be first forwarded to the group administrator for approval before being posted to the entire group.</div>
<div></div>
<div>Messages sent through the group text server will be prefaced with the text @groupname:username.</div>
<div></div>
<div>It is also possible for members to send a text message directly to another member of the group without sending it to the entire group by sending a message to the group text server that starts with the text @groupname:username.  For example, to send to a member “mike” on a group named “B”, the following text message could be sent:</div>
<div></div>
<div>@B:mike Hey Mike, let&#8217;s get out of here!</div>
<div></div>
<div></div>
<div></div>
<div></div>
]]></content:encoded>
			<wfw:commentRss>http://www.nowsms.com/now-sms-group-text-messaging/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bug Sending Long Binary SMS Messages to Java Apps on Motorola Devices</title>
		<link>http://www.nowsms.com/bug-sending-long-binary-sms-messages-to-java-apps-on-motorola-devices</link>
		<comments>http://www.nowsms.com/bug-sending-long-binary-sms-messages-to-java-apps-on-motorola-devices#comments</comments>
		<pubDate>Thu, 05 Nov 2009 16:48:00 +0000</pubDate>
		<dc:creator>bryce</dc:creator>
				<category><![CDATA[Support Blog]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Java MIDlet]]></category>
		<category><![CDATA[JSR-205]]></category>

		<guid isPermaLink="false">http://www.nowsms.co.uk/?p=126</guid>
		<description><![CDATA[One of the more interesting technical support incidents of the past week comes from Mohit Kumar Sethi at 3i Infotech Consumer Services Ltd. Mohit is using NowSMS Lite to send binary SMS messages to a Java application that his company is developing. He noticed that when sending SMS binary messages longer than 140 bytes, the [...]]]></description>
				<content:encoded><![CDATA[<p>One of the more interesting technical support incidents of the past week comes from Mohit Kumar Sethi at <a href="http://www.3i-infotech.com/">3i Infotech Consumer Services Ltd.</a></p>
<p>Mohit is using NowSMS Lite to send binary SMS messages to a Java application that his company is developing.</p>
<p>He noticed that when sending SMS binary messages longer than 140 bytes, the messages were received correctly by Nokia and SonyEricsson devices, however many Motorola devices received corrupted messages.</p>
<p>In GSM environments, a single SMS message can be no longer than 140 bytes.</p>
<p>When you send a text message, as long as the text only contains characters that are included in the GSM 7-bit character set , 160 7-bit characters are compressed into 140 8-bit bytes to produce the 160 character limit that we are so familiar with. (Note: 160 * 7 = 140 * 8 )</p>
<p>There&#8217;s more general discussion of SMS message size limits in the article at <a href="http://www.nowsms.com/long-sms-text-messages-and-the-160-character-limit">http://www.nowsms.com/long-sms-text-messages-and-the-160-character-limit</a>.</p>
<p>But back to Mohit&#8217;s problem&#8230;</p>
<p>When sending a binary SMS message longer than 140 bytes, it has to be segmented into multiple SMS messages.  A special header is added to each physical SMS message so that the receiving client knows that it is a multipart SMS message that must be reassembled by the client. These headers are known as segmentation or concatenation headers. 6 bytes (8-bits each) are required for these concatenation headers in each physical SMS message.</p>
<p>These headers are placed in the User Data Header (UDH) field of the message, but they do count against the overall size limit of the message.</p>
<p>As a result, a long binary SMS message will be divided into 134 byte segments.  Or 153 characters per segment for standard text messages.  Or 67 Unicode characters per segment for Unicode text messages.</p>
<p>Mohit observed that with various Motorola RAZR and SLVR models, the received message would lose one byte for each of these segments.</p>
<p>He had his applications on the phones send long binary SMS messages back in to NowSMS.</p>
<p>When his application on a Nokia or SonyEricsson device sent a long binary SMS message, it generated a User Data Header like this:  <strong>0B0504232923290003070301</strong><br />
<strong></strong></p>
<p><strong>0B</strong> is the length of the user data header.<br />
<strong>05</strong> indicates that source and destination port information is present in the message.<br />
<strong>04</strong> indicates the length of the source and destination port information.<br />
<strong>2329 2329</strong> indicates source and destination ports of 2329.<br />
<strong>00</strong> indicates that the message is segmented using an 8-bit reference number.<br />
<strong>03</strong> indicates the length of the segmentation headers.<br />
<strong>07</strong> is the 8-bit reference number for the segmented message.<br />
<strong>03</strong> is the number of segments in the overall message.<br />
<strong>01</strong> is the number of the current segment <em>(i.e,. 1 of 3)</em>.</p>
<p>Long binary messages sent by the Motorola devices were different.  A typical user data header looked like this:  <strong>0C080400460301050423292329</strong></p>
<p><strong>0C</strong> is the length of the user data header.<br />
<strong>08</strong> indicates that the message is segmented using a 16-bit reference number.<br />
<strong>04</strong> indicates the length of the segmentation headers.<br />
<strong>0046</strong> is the 16-bit reference number for the segmented message.<br />
<strong>03</strong> is the number of segments in the overall message.<br />
<strong>01</strong> is the number of the current segment <em>(i.e,. 1 of 3)</em>.<br />
<strong>05</strong> indicates that source and destination port information is present in the message.<br />
<strong>04</strong> indicates the length of the source and destination port information.<br />
<strong>2329 2329</strong> indicates source and destination ports of 2329.</p>
<p>Whether the segmentation headers or port information headers was not significant.  But what was significant was that the Motorola device was generating messages that used 16-bit reference numbers.</p>
<p>Mohit determined that when the Motorola device received a long binary message using an 8-bit reference number, it converted this to a 16-bit reference number.  If the overall message length including UDH was 140 before this conversion, the conversion would cause the last byte of data in that segment to be lost.</p>
<p>The Motorola device didn&#8217;t seem to have any problems with standard long text messages being sent to the SMS client on the device, or with long binary WAP push messages.  The bug seems to be in the part of the device code that routes messages to Java applications.</p>
<p>To make a long story short, this is an annoying bug.  And if you&#8217;re sending messages to Java applications, you may encounter it.</p>
<p>To deal with this scenario, we added a configuration option to NowSMS and NowSMS Lite, which would cause NowSMS to use 16-bit reference numbers when generating concatenated multipart messages.  By default, NowSMS uses 8-bit reference numbers, which allows the most characters to be fit in a single SMS.</p>
<p>When 16-bit reference numbers are used, message length per segment rules change.  For long text messages, instead of 153 characters per segment, only 152 characters per segment can be achieved.</p>
<p>For Unicode messages, instead of 67 characters per segment, only 66 characters per segment can be achieved.</p>
<p>For binary messages, 133 bytes of binary data can be included per segment, instead of 134 bytes.</p>
<p>This 16-bit reference number support was added in the 2009.11.04 release of NowSMS.  This support will be carried through to future releases.  For now v2009.11.04 has been made available as a special release at <a href="http://www.nowsms.com/download/nowsms20091104.zip">http://www.nowsms.com/download/nowsms20091104.zip</a><em> (standard version)</em> and <a href="http://www.nowsms.com/download/lite20091104.zip">http://www.nowsms.com/download/lite20091104.zip</a> <em>(NowSMS Lite)</em>.</p>
<p>To enable 16-bit reference numbers, edit SMSGW.INI, and under the [SMSGW] section header, add ConcatRef16Bit<span class="notranslate">=Yes</span>.</p>
<p>Note that when this setting is applied, 16-bit reference numbers are only used when NowSMS performs the segmentation <em>(message submitted either via HTTP, or via SMPP using a single message_payload submission)</em> &#8230;</p>
<p>NowSMS does not resegment messages that have already been segmented by the submitting client.</p>
<p>For more about sending SMS messages to J2ME apps, see <a href="http://www.nowsms.com/sms-port-number">http://www.nowsms.com/sms-port-number</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.nowsms.com/bug-sending-long-binary-sms-messages-to-java-apps-on-motorola-devices/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SMS and MMS with the Novatel Merlin XU870 ExpressCard Modem</title>
		<link>http://www.nowsms.com/sms-and-mms-with-the-novatel-merlin-xu870-expresscard-modem</link>
		<comments>http://www.nowsms.com/sms-and-mms-with-the-novatel-merlin-xu870-expresscard-modem#comments</comments>
		<pubDate>Mon, 02 Nov 2009 13:00:00 +0000</pubDate>
		<dc:creator>bryce</dc:creator>
				<category><![CDATA[Support Blog]]></category>
		<category><![CDATA[3G modem]]></category>
		<category><![CDATA[ExpressCard modem]]></category>
		<category><![CDATA[GSM modem]]></category>

		<guid isPermaLink="false">http://www.nowsms.co.uk/?p=125</guid>
		<description><![CDATA[If you are using NowSMS in a laptop with an available ExpressCard slot, the Novatel Wireless Merlin XU870 ExpressCard Modem is a good modem to use with NowSMS to send and receive SMS and MMS messages. This modem supports HSDPA up to 7.2 Mbps (although locating the appropriate firmware driver update seems to be a [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://1.bp.blogspot.com/_YurG55Yaya0/SudkivFdQkI/AAAAAAAAA_0/XR0hJh_j0p4/s1600-h/NovatelXU870.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"><img id="BLOGGER_PHOTO_ID_5397393226344514114" style="float: right; margin: 0 0 10px 10px; cursor: hand; width: 371px; height: 201px;" src="http://1.bp.blogspot.com/_YurG55Yaya0/SudkivFdQkI/AAAAAAAAA_0/XR0hJh_j0p4/s400/NovatelXU870.png" border="0" alt="" /></a> If you are using NowSMS in a laptop with an available ExpressCard slot, the Novatel Wireless Merlin XU870 ExpressCard Modem is a good modem to use with NowSMS to send and receive SMS and MMS messages.</p>
<p>This modem supports HSDPA up to 7.2 Mbps (although locating the appropriate firmware driver update seems to be a challenge, without it, it is limited to 3.6 Mbps).  That is good for receiving MMS.</p>
<p>However, the modem does not support HSUPA, limiting it to 384 Kbps for uploads and sending MMS.</p>
<p>Although we have yet to test it, the Merlin X950D would likely be a better choice for MMS, as it claims to support HSUPA up to 2.1 Mbps (Note: the X950D requires a firmware update to enable HSUPA and there may be some difficulty locating the firmware update).  SMS speeds should not be a difference between the two modems.</p>
<p>Drivers for this modem can be found on the Novatel Wireless web site at <a href="http://www.novatelwireless.com/index.php?option=com_content&amp;view=article&amp;id=220&amp;Itemid=272">http://www.novatelwireless.com/index.php?option=com_content&amp;view=article&amp;id=220&amp;Itemid=272</a>.  (If this direct link is broken, navigate from <a href="http://www.novatelwireless.com/support/">http://www.novatelwireless.com/support/</a>.)</p>
<p>There are no special considerations for using the Novatel XU870 modem with NowSMS.  However, it should be noted that this modem does NOT support delivery receipts.</p>
<p>For general information on configuring NowSMS to send and receive SMS and MMS messages with a GSM modem, such as the Novatel Wireless Merlin XU870, please see the NowSMS Quick Start Guide at <a href="http://www.nowsms.com/doc/quick-start-guide">http://www.nowsms.com/doc/quick-start-guide</a>.</p>
<p>Frequencies supported by the Novatel Merlin XU870:</p>
<ul>
<li>3G/UMTS/HSDPA/HSUPA &#8211; 850Mhz/1900Mhz/2100Mhz (Good for most of the world, plus AT&amp;T USA)</li>
<li>EDGE/GPRS &#8211; 850Mhz/900Mhz/1800Mhz/1900Mhz (Global)</li>
<li>HSDPA Max Performance: Download speed &#8211; 7.2 Mbps; Upload speed &#8211; 384 Kbps</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.nowsms.com/sms-and-mms-with-the-novatel-merlin-xu870-expresscard-modem/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Using NowSMS as a WAP Push Proxy Gateway (PPG)</title>
		<link>http://www.nowsms.com/using-nowsms-as-a-wap-push-proxy-gateway-ppg</link>
		<comments>http://www.nowsms.com/using-nowsms-as-a-wap-push-proxy-gateway-ppg#comments</comments>
		<pubDate>Thu, 29 Oct 2009 18:00:00 +0000</pubDate>
		<dc:creator>bryce</dc:creator>
				<category><![CDATA[Support Blog]]></category>
		<category><![CDATA[WAP Proxy]]></category>
		<category><![CDATA[WAP Push]]></category>
		<category><![CDATA[WAP Push Proxy Gateway]]></category>

		<guid isPermaLink="false">http://www.nowsms.co.uk/?p=124</guid>
		<description><![CDATA[NowSMS supports the Open Mobile Alliance (OMA) Push Access Protocol (PAP), which allows other applications to use NowSMS as a WAP Push Proxy Gateway (PPG). Even though NowSMS has its own MMSC capability, we do have customers who are using NowSMS as a push proxy gateway for another vendor&#8217;s MMSC. In addition to providing PPG [...]]]></description>
				<content:encoded><![CDATA[<p>NowSMS supports the <span class="notranslate">Open Mobile Alliance</span> (OMA) Push Access Protocol (PAP), which allows other applications to use NowSMS as a WAP Push Proxy Gateway (PPG).
<div></div>
<div>Even though NowSMS has its own MMSC capability, we do have customers who are using NowSMS as a push proxy gateway for another vendor&#8217;s MMSC.</div>
<div></div>
<div>In addition to providing PPG support for MMS, NowSMS can be used as a push proxy gateway for other types of push messages, including, but not limited to SyncML DM, SyncML DS, Wireless Village/IMPS, OMA Digital Rights Management, OMA E-Mail Notification (EMN), Service Indication and Service Load.</div>
<div></div>
<div>
<div>To post a push message via the PAP interface, perform an HTTP POST to the &#8220;web&#8221; port configured for the NowSMS web interface (not the MMSC), posting to a URL of &#8220;/pap&#8221;.  If user authentication is enabled in NowSMS, user identification can be included as URL parameters (e.g., &#8220;/pap?user=username&amp;password=password&#8221;), or via an HTTP Basic Authentication &#8220;Authorization:&#8221; header.</div>
<div></div>
<div>A PAP post is a multipart MIME request, with the first MIME part being the PAP control document that specifies message recipient(s). The second MIME part is the data to be pushed.</div>
<div></div>
<div>An example of a service indication push being sent via PAP is shown below:</div>
<div></div>
<div><span class="Apple-style-span"  style="font-family:'courier new';"><span class="Apple-style-span" style="font-size: small;">&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;BEGIN EXAMPLE&#8212;&#8212;&#8212;&#8212;&#8212;&#8211; </span></span></div>
<div><span class="Apple-style-span"  style="font-family:'courier new';"><span class="Apple-style-span" style="font-size: small;">POST /pap?user=username&amp;password=password HTTP/1.0 </span></span></div>
<div><span class="Apple-style-span"  style="font-family:'courier new';"><span class="Apple-style-span" style="font-size: small;">Content-Type: multipart/related; boundary=mime-boundary; type=&#8221;application/xml&#8221; </span></span></div>
<div><span class="Apple-style-span"  style="font-family:'courier new';"><span class="Apple-style-span" style="font-size: small;">Content-Length: xxxxx </span></span></div>
<div><span class="Apple-style-span"  style="font-family:'courier new';"><span class="Apple-style-span" style="font-size: small;"><br /></span></span></div>
<div><span class="Apple-style-span"  style="font-family:'courier new';"><span class="Apple-style-span" style="font-size: small;">&#8211;mime-boundary </span></span></div>
<div><span class="Apple-style-span"  style="font-family:'courier new';"><span class="Apple-style-span" style="font-size: small;">Content-Type: application/xml </span></span></div>
<div><span class="Apple-style-span"  style="font-family:'courier new';"><span class="Apple-style-span" style="font-size: small;"><br /></span></span></div>
<div><span class="Apple-style-span"  style="font-family:'courier new';"><span class="Apple-style-span" style="font-size: small;">&#8211;mime-boundary </span></span></div>
<div><span class="Apple-style-span"  style="font-family:'courier new';"><span class="Apple-style-span" style="font-size: small;">Content-Type: application/xml </span></span></div>
<div><span class="Apple-style-span"  style="font-family:'courier new';"><span class="Apple-style-span" style="font-size: small;"><br /></span></span></div>
<div><span class="Apple-style-span"  style="font-family:'courier new';"><span class="Apple-style-span" style="font-size: small;">&lt;?xml version=&#8221;1.0&#8243;?&gt; </span></span></div>
<div><span class="Apple-style-span"  style="font-family:'courier new';"><span class="Apple-style-span" style="font-size: small;">&lt;!DOCTYPE pap PUBLIC &#8220;-//WAPFORUM//DTD PAP 2.0//EN&#8221; &#8220;http://www.wapforum.org/DTD/pap_2.0.dtd&#8221; </span></span></div>
<div><span class="Apple-style-span"  style="font-family:'courier new';"><span class="Apple-style-span" style="font-size: small;">[&lt;?wap-pap-ver supported-versions="2.0,1.*"?&gt;]&gt; </span></span></div>
<div><span class="Apple-style-span"  style="font-family:'courier new';"><span class="Apple-style-span" style="font-size: small;">&lt;pap&gt; </span></span></div>
<div><span class="Apple-style-span"  style="font-family:'courier new';"><span class="Apple-style-span" style="font-size: small;">&lt;push-message push-id=&#8221;9fjeo39jf084@pi.com&#8221;&gt; </span></span></div>
<div><span class="Apple-style-span"  style="font-family:'courier new';"><span class="Apple-style-span" style="font-size: small;">&lt;address address-value=&#8221;wappush=xxxxxxxxx/type=user@ppg.operator.com&#8221;&gt;&lt;/address&gt; </span></span></div>
<div><span class="Apple-style-span"  style="font-family:'courier new';"><span class="Apple-style-span" style="font-size: small;">&lt;/push-message&gt; </span></span></div>
<div><span class="Apple-style-span"  style="font-family:'courier new';"><span class="Apple-style-span" style="font-size: small;">&lt;/pap&gt; </span></span></div>
<div><span class="Apple-style-span"  style="font-family:'courier new';"><span class="Apple-style-span" style="font-size: small;">&#8211;mime-boundary </span></span></div>
<div><span class="Apple-style-span"  style="font-family:'courier new';"><span class="Apple-style-span" style="font-size: small;">X-Wap-Application-Id: x-wap-application:wml.ua </span></span></div>
<div><span class="Apple-style-span"  style="font-family:'courier new';"><span class="Apple-style-span" style="font-size: small;">Content-Type: text/vnd.wap.si </span></span></div>
<div><span class="Apple-style-span"  style="font-family:'courier new';"><span class="Apple-style-span" style="font-size: small;"><br /></span></span></div>
<div><span class="Apple-style-span"  style="font-family:'courier new';"><span class="Apple-style-span" style="font-size: small;">&lt;?xml version=&#8221;1.0&#8243;?&gt; </span></span></div>
<div><span class="Apple-style-span"  style="font-family:'courier new';"><span class="Apple-style-span" style="font-size: small;">&lt;!DOCTYPE si PUBLIC &#8220;-//WAPFORUM//DTD SI 1.0//EN&#8221; </span></span></div>
<div><span class="Apple-style-span"  style="font-family:'courier new';"><span class="Apple-style-span" style="font-size: small;">&#8220;http://www.wapforum.org/DTD/si.dtd&#8221;&gt; </span></span></div>
<div><span class="Apple-style-span"  style="font-family:'courier new';"><span class="Apple-style-span" style="font-size: small;">&lt;si&gt; </span></span></div>
<div><span class="Apple-style-span"  style="font-family:'courier new';"><span class="Apple-style-span" style="font-size: small;">&lt;indication href=&#8221;http://www.xyz.com/email/123/abc.wml&#8221; created=&#8221;2009-10-25T15:23:15Z&#8221; </span></span></div>
<div><span class="Apple-style-span"  style="font-family:'courier new';"><span class="Apple-style-span" style="font-size: small;">si-expires=&#8221;2009-11-03T00:00:00Z&#8221;&gt;</span></span></div>
<div><span class="Apple-style-span"  style="font-family:'courier new';"><span class="Apple-style-span" style="font-size: small;">You have 4 new emails</span></span></div>
<div><span class="Apple-style-span"  style="font-family:'courier new';"><span class="Apple-style-span" style="font-size: small;">&lt;/indication&gt; </span></span></div>
<div><span class="Apple-style-span"  style="font-family:'courier new';"><span class="Apple-style-span" style="font-size: small;">&lt;/si&gt; </span></span></div>
<div><span class="Apple-style-span"  style="font-family:'courier new';"><span class="Apple-style-span" style="font-size: small;">&#8211;mime-boundary&#8211; </span></span></div>
<div><span class="Apple-style-span" style="font-family: 'courier new'; font-size: small; ">&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;END EXAMPLE&#8212;&#8212;&#8212;&#8212;&#8212;&#8211; </span></div>
<div></div>
<div>Note that the &#8220;/type=user@ppg.operator.com&#8221; included in the WAP Push address specification is optional for NowSMS, and will be ignored, as only the relevant destination phone number is parsed from the request.</div>
<div></div>
<div>NowSMS will perform XML to WBXML conversions for WAP push of the following content types:</div>
<div></div>
<div>
<ul>
<li>text/vnd.wap.si</li>
<li>text/vnd.wap.sl</li>
<li>application/vnd.oma.drm.rights+xml</li>
<li>text/vnd.wap.emn+xml (or application/vnd.wap.emn+xml)</li>
<li>text/vnd.wap.co</li>
<li>text/vnd.wap.connectivity-xml</li>
</ul>
</div>
<div></div>
<div>Other types (including non WBXML based encodings such as &#8220;application/vnd.wap.mms-message&#8221; for MMS or &#8220;application/vnd.syncml.ds.notification&#8221; for SyncML SAN/DS) must be submitted via the appropriate binary encoding.</div>
<div></div>
<div>NowSMS supports the following text values for &#8220;X-Wap-Application-id&#8221;:</div>
<div></div>
<div>
<ul>
<li>x-wap-application:push.sia</li>
<li>x-wap-application:wml.ua</li>
<li>x-wap-application:wta.ua</li>
<li>x-wap-application:mms.ua</li>
<li>x-wap-application:push.syncml</li>
<li>x-wap-application:loc.ua</li>
<li>x-wap-application:syncml.dm</li>
<li>x-wap-application:drm.ua</li>
<li>x-wap-application:enm.ua</li>
<li>x-wap-application:wv.ua</li>
</ul>
</div>
<div></div>
<div>Other &#8220;X-Wap-Application-id&#8221; header values must be submitted to NowSMS using their assigned decimal or hexadecimal value rather than the text name.  (If using a hexadecimal value, preface the value with &#8220;0x&#8221; to indicate hexadecimal format.)</div>
<div></div>
<div>Further information on the WAP Push Access Protocol can be found from by downloading the WAP-247-PAP specification from <a href="http://www.openmobilealliance.org/tech/affiliates/wap/wapindex.html">http://www.openmobilealliance.org/tech/affiliates/wap/wapindex.html</a></div>
<div></div>
<div>Note that NowSMS does not support guaranteed delivery or delivery notifications.</div>
<div></div>
<div>NowSMS does not support base64 encoding for PAP content, binary content should be posted as 8-bit data using Content-transport-encoding: binary. We further recommend that the MIME part that includes the binary content have a &#8220;Content-Length:&#8221; header to avoid the potential of extra bytes (such as blank lines) being interpreted as part of the binary stream.</div>
<div></div>
<div>NowSMS sends WAP Push messages using connection-less WDP (Wireless Datagram Protocol) over SMS. SMSC connection from the NowSMS Push Proxy Gateway can use either SMPP, UCP/EMI or CIMD2.  GSM modem connections can also be used as the SMSC connection for smaller test environments.</div>
<div></div>
<div>Special considerations exist for WAP Push in CDMA and CDMA2000 environments, namely the SMSC needs to support WDP Adaptation for SMPP.  This is described in more detail at <a href="http://www.nowsms.com/support/bulletins/tb-nowsms-010.htm">http://www.nowsms.com/support/bulletins/tb-nowsms-010.htm</a>.</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.nowsms.com/using-nowsms-as-a-wap-push-proxy-gateway-ppg/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sending SMS from Microsoft Excel</title>
		<link>http://www.nowsms.com/sending-sms-from-microsoft-excel</link>
		<comments>http://www.nowsms.com/sending-sms-from-microsoft-excel#comments</comments>
		<pubDate>Mon, 26 Oct 2009 20:26:00 +0000</pubDate>
		<dc:creator>bryce</dc:creator>
				<category><![CDATA[Support Blog]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[VBScript]]></category>

		<guid isPermaLink="false">http://www.nowsms.co.uk/?p=123</guid>
		<description><![CDATA[A recent posting on the NowSMS Discussion Board has some interesting information on sending an SMS a link within an Excel spreadsheet. Read the full post here: http://www.nowsms.com/discus/messages/1/41882.html The gist of the posting is that you cannot use the Excel HYPERLINK command to do this. It would be logical to build a NowSMS URL to [...]]]></description>
				<content:encoded><![CDATA[<p>A recent posting on the NowSMS Discussion Board has some interesting information on sending an SMS a link within an Excel spreadsheet.</p>
<div>Read the full post here:  <a href="http://www.nowsms.com/discus/messages/1/41882.html">http://www.nowsms.com/discus/messages/1/41882.html</a></div>
<div>The gist of the posting is that you cannot use the Excel HYPERLINK command to do this.  It would be logical to build a NowSMS URL to send a message, but the HYPERLINK command connects to the URL twice, resulting in duplicate messages being sent.</div>
<div>As an alternative, Des created a VBScript macro instead.  This macro initiates an HTTP connection to NowSMS to send a message, dynamically creating a message based upon cell values in the Excel spreadsheet.  I&#8217;ve quoted the details from Des below:</div>
<hr />
<div><span style="font-family: Verdana, Arial, Helvetica; font-size: small; -webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"> </span></div>
<p><span style="font-family: Verdana, Arial, Helvetica; font-size: small; -webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;">The alternative approach is to write a simple VBScript macro instead.</span></p>
<p>Today was my first attempt at writing one &#8230; but I did manage to create a button in a spreadsheet, where when you click on the button, it reads data from the spreadsheet to send out an SMS.</p>
<p>Here&#8217;s what I did &#8230;</p>
<p>From the Developer menu in Excel, I added an Active X Command Button.</p>
<p>I then associated the following code with my command button:</p>
<pre class="notranslate">Private Sub CommandButton1_Click()
Set objHTTP = CreateObject("MSXML2.ServerXMLHTTP")
URL = "http://192.168.0.222:8800/"
objHTTP.Open "POST", URL, False
objHTTP.send ("&amp;PhoneNumber=" + Range("a9").Text + "&amp;text=" + Range("a10").Text)
End Sub</pre>
<p>In this particular case, I am extracting the phone number from cell A9, and the text to send from A10.</p>
<p>Once I exit design mode, I can click on the button, and it triggers this code, which makes the HTTP submission to NowSMS.</p>
<p>I&#8217;m using HTTP POST instead of GET to avoid some URL encoding issues.</p>
<p>It&#8217;s not as easy as using HYPERLINK, but hopefully you can adapt this to your scenario.</p>
<hr />
<div><span style="font-family: Verdana, Arial, Helvetica;"><span style="font-size: small; -webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"><br />
</span></span></div>
<div>
<p><span style="font-family: Verdana, Arial, Helvetica;"><span style="font-size: small; -webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px;"><span style="font-family: Georgia, serif; font-size: 16px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px;"> </span></span></span></p>
<div>Post any questions or commands in the discussion board posting at <a href="http://www.nowsms.com/discus/messages/1/41882.html">http://www.nowsms.com/discus/messages/1/41882.html</a>.</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.nowsms.com/sending-sms-from-microsoft-excel/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic page generated in 3.696 seconds. -->
<!-- Cached page generated by WP-Super-Cache on 2013-05-24 20:39:41 -->

<!-- Compression = gzip -->