<?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>mediaburst &#187; API &amp; technical</title>
	<atom:link href="http://www.mediaburst.co.uk/blog/category/technical/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.mediaburst.co.uk</link>
	<description>SMS, MMS and Mobile marketing</description>
	<lastBuildDate>Thu, 02 Feb 2012 15:39:25 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>Fixed textbust page&#160;freezes</title>
		<link>http://www.mediaburst.co.uk/blog/fixed-textbust-page-freezes/</link>
		<comments>http://www.mediaburst.co.uk/blog/fixed-textbust-page-freezes/#comments</comments>
		<pubDate>Wed, 11 Jan 2012 16:11:38 +0000</pubDate>
		<dc:creator>Martin</dc:creator>
				<category><![CDATA[API & technical]]></category>
		<category><![CDATA[Textburst]]></category>
		<category><![CDATA[update]]></category>

		<guid isPermaLink="false">http://www.mediaburst.co.uk/?p=66863</guid>
		<description><![CDATA[We released a textburst update this morning that should fix a page freeze problem encountered by a small number of users over the last few weeks. We first noticed that textburst pages would occasionally freeze a few days before before Christmas and released a temporary fix that solved it for 99% of users. Unfortunately as [...]]]></description>
			<content:encoded><![CDATA[<p>We released a <a title="Online SMS" href="/textburst/">textburst</a> update this morning that should fix a page freeze problem encountered by a small number of users over the last few weeks.</p>
<p>We first noticed that textburst pages would occasionally freeze a few days before before Christmas and released a temporary fix that solved it for 99% of users.</p>
<p>Unfortunately as with most temporary fixes it wasn&#8217;t 100% effective so we&#8217;ve been investigating the root cause since getting back from the holidays.</p>
<p>After many, many hours digging through tens of thousands of lines of log files<span id="more-66863"></span> (it&#8217;s amazing how much logging a debug mode can create) and tweaking code here and there we at last found the cause yesterday afternoon. And two lines of code later it&#8217;s fixed.</p>
<h3>For the technically inclined here&#8217;s a little more information:</h3>
<p>Textburst runs on four web servers, these are set up as two load balanced pairs, one in Derby and one in Manchester. To ensure users stay logged in when switching between servers we store our session data in a MySQL database.</p>
<p>Our MySQL based session store is a slightly tweaked version of the <a href="http://dev.mysql.com/doc/refman/5.1/en/connector-net-tutorials-asp-provider-session-state.html">MySQL session state provider</a> which is in turn based on the <a href="http://msdn.microsoft.com/en-us/library/ms178589.aspx">Microsoft sample session state provider</a>.</p>
<p>Unfortunately it turns out both of these have a bug when handling concurrent connections.</p>
<h4>How things are supposed to work</h4>
<p>When a page is requested it should should check to see if the session is currently locked by another page, wait until it&#8217;s free and then obtain the session data, along with a lock if the page wants write access and then increment an internal Lock ID by one which is used to make sure the same request is locking and unlocking the session.</p>
<h4>What was actually happening</h4>
<p>Requests that wanted read/write access to the session worked exactly as expected, however read-only sessions missed the all important step of waiting until the session was free and simply incremented the Lock ID. This meant that if a read-only request was processed in between the lock and unlock phase of a read/write request it would never be unlocked causing the next read/write request to freeze.</p>
<p>Luckily the ASP.NET session code is designed for this eventuality and after 110 seconds the stuck lock is forcibly removed, unfortunately our users were stuck waiting for this to happen while everything appeared to be frozen.</p>
<h4>Our fix</h4>
<p>We&#8217;ve updated the session provider to always wait until the session is free. To help out others with similar problems we&#8217;ve added this as a comment on the Microsoft sample and will be filing a bug report with MySQL shortly.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mediaburst.co.uk/blog/fixed-textbust-page-freezes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>We&#8217;re hiring (web app developer&#160;required)</title>
		<link>http://www.mediaburst.co.uk/blog/were-hiring-web-app-developer-required/</link>
		<comments>http://www.mediaburst.co.uk/blog/were-hiring-web-app-developer-required/#comments</comments>
		<pubDate>Tue, 20 Dec 2011 16:03:19 +0000</pubDate>
		<dc:creator>Gary</dc:creator>
				<category><![CDATA[API & technical]]></category>
		<category><![CDATA[Industry news]]></category>

		<guid isPermaLink="false">http://www.mediaburst.co.uk/?p=66273</guid>
		<description><![CDATA[Here at mediaburst in Alderley Edge we’ve got some great plans for the New Year. (But not for you recruitment consultant. Sorry, but you&#8217;re not in our plans, so don&#8217;t contact us about this.) Our SMS API is shipping faster than ever before. Florence, our healthcare app is gaining momentum in the NHS. Textburst is [...]]]></description>
			<content:encoded><![CDATA[<p>Here at mediaburst in Alderley Edge we’ve got some great plans for the New Year.</p>
<p><em>(But not for you recruitment consultant. Sorry, but you&#8217;re not in our plans, so don&#8217;t contact us about this.)</em></p>
<p>Our <a href="/api/">SMS API</a> is shipping faster than ever before. <a href="http://www.getflorence.co.uk" target="_blank">Florence</a>, our healthcare app is gaining momentum in the NHS. <a href="/textburst/" target="_blank">Textburst</a> is finding an audience like never before, and we’ve got a completely new app on the cards.</p>
<p>But, arhhhh!</p>
<p>We just can’t find the time to do all the stuff we really want to do. We need some help, and you might be what we need.</p>
<p>What we’re ideally looking for is a web app developer.<span id="more-66273"></span></p>
<p>You need to have some (not necessarily loads of) relevant qualifications and experience.</p>
<p>You definitely need to know some languages and frameworks, not necessarily these, but things like PHP, c#, .Net, Ruby.</p>
<p>Knowledge of MySQL or similar database will also be looked upon favourably.</p>
<p>We’re also big fans of wordpress and have a number of plugins available to our clients. If you know wordpress then you’re already in our good books.</p>
<p>But most important is your desire to get involved in something. We’re not just tapping lines of code out, we’re making products that people use every day of their working life. Your ideas and desire to make things better are what we want, they’re more valuable than your qualifications.</p>
<p>So if you live and breathe the web, spend your spare time dreaming of quirky web apps, playing with open source software or mashing API’s on programmable web, then we need to hear from you.</p>
<h2>You can help us</h2>
<p>What’s it like to work at mediaburst?</p>
<p>None of us at mediaburst are here to pass the time of day and collect the cheque.</p>
<p>Coming to work is a pleasure, we enjoy what we do. We want to make our products better, gain new customers and take good care of the existing ones.</p>
<p>We’re not here until the wee hours, you’ve got a social life and we respect that. We also don’t want you to wear a suit and tie unless you really want to, but then again, if you did, you probably wouldn’t fit in.</p>
<p>Our office is completely open plan, there are no walls or secrecy, you can chip in if you like and share your thoughts. We want you to make a difference to the things we do and the stuff we sell, you can’t do that well unless you know what’s going on.</p>
<p>We don’t have accolades like Investors in People, or bureaucratic review procedures. If you want something then ask, if you have a problem, speak up.</p>
<h2>Salary</h2>
<p>Yes we’ll pay you, but the internet is no place to discuss financial arrangements, let’s discuss in private.</p>
<h2>How to apply</h2>
<p>Get the ball rolling by sending us an email. Tell us about yourself, include your CV if you like, show us your twitter or facebook or last FM or Google+ or whatever you’re on or into.</p>
<p>Send us a link to any projects you’ve been involved in or sites you’ve developed.</p>
<p>And, yeah, let’s talk.</p>
<p>hello@mediaburst.co.uk</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mediaburst.co.uk/blog/were-hiring-web-app-developer-required/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>New API&#160;Documentation</title>
		<link>http://www.mediaburst.co.uk/blog/new-api-documentation/</link>
		<comments>http://www.mediaburst.co.uk/blog/new-api-documentation/#comments</comments>
		<pubDate>Mon, 07 Nov 2011 07:00:41 +0000</pubDate>
		<dc:creator>Martin</dc:creator>
				<category><![CDATA[API & technical]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[sms]]></category>

		<guid isPermaLink="false">http://www.mediaburst.co.uk/?p=63642</guid>
		<description><![CDATA[We&#8217;ve listened to your feedback and re-written our SMS API documentation. The old version was based an old paper document and had horribly nested pages, whereas you can now see an overview of the entire documentation on a single page. As we were re-writing it we took the chance to make a few other changes [...]]]></description>
			<content:encoded><![CDATA[<p>We&#8217;ve listened to your feedback and re-written our <a href="/api/doc/">SMS API documentation</a>. The old version was based an old paper document and had horribly nested pages, whereas you can now see an overview of the entire documentation on a single page.</p>
<p>As we were re-writing it we took the chance to make a few other changes too, don&#8217;t worry though, if you&#8217;re already using the API we haven&#8217;t changed anything, all the old URLs and parameters will still work.<span id="more-63642"></span></p>
<h2>Url Changes</h2>
<p>From now on all API addresses are on api.mediaburst.co.uk rather than sms.message-platform.com, we feel it makes more sense as you can instantly tell it&#8217;s the mediaburst API.</p>
<p>All examples now use SSL for added security, you&#8217;re still able to turn it off though.<br />
We have no plans to disable the old sms.message-platform.com.</p>
<p>So the URL for sending through our simple HTTP API becomes https://api.mediaburst.co.uk/http/send.aspx</p>
<h2>Delivery Receipts</h2>
<p>We&#8217;ve renamed a few of the merge parameters for consistency, when you send a text message you use the To parameter for the mobile number, and now the delivery receipt will too. Don&#8217;t worry though all the old names still work.</p>
<table>
<thead>
<tr>
<th>Field</th>
<th>Old name</th>
<th>New name</th>
</tr>
</thead>
<tbody>
<tr>
<td>Delivery Status</td>
<td>#DELIVERY_STATUS#</td>
<td>#STATUS#</td>
</tr>
<tr>
<td>Destination mobile number</td>
<td>#DEST_ADDR#</td>
<td>#TO#</td>
</tr>
<tr>
<td>Delivery status detail</td>
<td>#ERR_CODE#</td>
<td>#DETAIL#</td>
</tr>
</tbody>
</table>
<h2>Simple HTTP API</h2>
<p>We&#8217;ve clarified which features are available through the HTTP API. If you want advanced features they&#8217;re all available through the XML interface.</p>
<p>Our new simple parameter list now consists of:</p>
<ul>
<li>Username</li>
<li>Password</li>
<li>To</li>
<li>Content</li>
<li>From (Optional – Message originator)</li>
<li>Long (Optional – Allow up to 459 characters)</li>
</ul>
<h2>Email to SMS address changes</h2>
<p>Again to tidy things up, we&#8217;ve changed all email to SMS email addresses to use mediaburst.co.uk rather than message-platform.com.</p>
<p>The new addresses are:</p>
<table>
<tbody>
<tr>
<td>Standard SMS</td>
<td>number@sms.mediaburst.co.uk</td>
</tr>
<tr>
<td>Long SMS</td>
<td>number@longsms.mediaburst.co.uk</td>
</tr>
<tr>
<td>MMS</td>
<td>number@mms.mediaburst.co.uk</td>
</tr>
<tr>
<td>XML</td>
<td>xml@api.mediaburst.co.uk</td>
</tr>
</tbody>
</table>
]]></content:encoded>
			<wfw:commentRss>http://www.mediaburst.co.uk/blog/new-api-documentation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Convert a mobile number into international&#160;format</title>
		<link>http://www.mediaburst.co.uk/blog/convert-a-mobile-number-into-international-format/</link>
		<comments>http://www.mediaburst.co.uk/blog/convert-a-mobile-number-into-international-format/#comments</comments>
		<pubDate>Thu, 20 Oct 2011 14:13:36 +0000</pubDate>
		<dc:creator>John</dc:creator>
				<category><![CDATA[API & technical]]></category>
		<category><![CDATA[Learn about SMS]]></category>

		<guid isPermaLink="false">http://www.mediaburst.co.uk/?p=61662</guid>
		<description><![CDATA[You&#8217;ll have seen some of the plugins we&#8217;ve developed recently, noteably, shopify sms and magento sms. Prior to these plugins the applications we&#8217;ve developed rely on the sender of the text message to input the mobile phone number, just as you do when you&#8217;re sending a text message from your mobile phone. You, as the [...]]]></description>
			<content:encoded><![CDATA[<p>You&#8217;ll have seen some of the plugins we&#8217;ve developed recently, noteably, <a href="/plugins-integrations/send-sms-with-shopify/">shopify sms</a> and <a href="/plugins-integrations/magento-sms/">magento sms</a>.</p>
<p>Prior to these plugins the applications we&#8217;ve developed rely on the sender of the text message to input the mobile phone number, just as you do when you&#8217;re sending a text message from your mobile phone. You, as the sender, type in the recipients number.</p>
<p>This is generally foolproof because the sender has an inherent understanding of the number format required to send the text message.</p>
<p>With an eCommerce plugin we have another party to consider. The purchaser or &#8220;receiver&#8221; of the text message is the one who inputs their mobile number.<span id="more-61662"></span></p>
<p>And they do so without any knowledge of the format the store owner needs to actually send the text message.</p>
<p>e.g. ask someone to fill in a form with their UK mobile number and you&#8217;ll get things like:</p>
<p>07741234567</p>
<p>07741 234567</p>
<p>07741 234 567</p>
<p>447741234567</p>
<p>447741 234567</p>
<p>+447741234567</p>
<p>44(0)7741234567</p>
<p>and so on, I think you get the picture.</p>
<p>Couple this with the international reach of most eCommerce applications and you&#8217;ve got people from all over the world inputting mobile numbers in all sorts of formats, and both the purchaser and their store owners expecting to receive text messages.</p>
<p>The answer is relatively simple, we need to convert any mobile number into a valid international format. That way we&#8217;ll have consistency in the data and our <a href="/api/">SMS API</a> can route the messages to the appropriate country.</p>
<p>Here&#8217;s how we currently do it:</p>
<p>To do this you&#8217;ll need a table of international dialling codes. We use one hacked together from Wikipedia. Here&#8217;s the <a href="http://plugins.svn.wordpress.org/mediaburst-ecommerce-sms-notifications/trunk/country-calling-codes.php" target="_blank">PHP code</a>.</p>
<ol>
<li>Strip out any leading zeros.</li>
<li>Remove any numbers within parentheses</li>
<li>Strip any spaces or non numeric characters.</li>
<li>Take the country of residence of the purchaser. If the purchaser didn&#8217;t input a country then use the store default, and look this up on the table of dialling codes.</li>
<li>If the mobile number starts with the dialling code then great, you&#8217;re good to go.</li>
<li>If not then add the dialling code to the start of the number, and then your good to go.</li>
</ol>
<p>We are aware that this could be improved.</p>
<p>For instance, if the number starts with a &#8216;+&#8217; then we could take it that the user has already supplied the country code.</p>
<p>We could also do this if the number starts with &#8217;00&#8242;. That is for the UK though, other countries have other codes to dial an international number.</p>
<p>We will be looking at improving the process as we go on.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mediaburst.co.uk/blog/convert-a-mobile-number-into-international-format/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress: Contact Form 7&#160;SMS</title>
		<link>http://www.mediaburst.co.uk/blog/wordpress-contact-form-7-sms/</link>
		<comments>http://www.mediaburst.co.uk/blog/wordpress-contact-form-7-sms/#comments</comments>
		<pubDate>Thu, 15 Sep 2011 07:00:28 +0000</pubDate>
		<dc:creator>Gary</dc:creator>
				<category><![CDATA[API & technical]]></category>

		<guid isPermaLink="false">http://www.mediaburst.co.uk/?p=55952</guid>
		<description><![CDATA[The first answer is a resounding &#8220;Yes&#8221;. You can absolutely set up Contact Form 7 to send SMS. Even better, it&#8217;s only a 2 minute job which doesn&#8217;t involve messing about with the code. It&#8217;s all done from the Contact menu in your WordPress site. Preamble: It&#8217;s very basic really, you set up Contact Form [...]]]></description>
			<content:encoded><![CDATA[<p>The first answer is a resounding &#8220;Yes&#8221;. You can absolutely set up <a href="http://wordpress.org/extend/plugins/contact-form-7/" target="_blank">Contact Form 7</a> to send SMS. Even better, it&#8217;s only a 2 minute job which doesn&#8217;t involve messing about with the code. It&#8217;s all done from the Contact menu in your WordPress site.</p>
<h2>Preamble:</h2>
<p>It&#8217;s very basic really, you set up Contact Form 7 to send and email to mediaburst&#8217;s <a href="/api/sending-a-message/interfaces/e-mail/">email to SMS function</a> and it&#8217;s automatically converted to SMS and sent to the relevant network/ mobile phone.</p>
<p>I&#8217;ll assume you have Contact Form 7 installed and have a mediaburst <a href="/">SMS API</a> account. If not, then you&#8217;ll need to do those tasks first.</p>
<h2>The Setup:</h2>
<p>So here we go, Contact Form 7 SMS, you&#8217;ll need to include</p>
<ul>
<li>The destination mobile phone number in the &#8220;To&#8221; field as part of an email address as follows: <strong><em>07741234567@sms.message-platform.com</em></strong></li>
<li>Your email address in the &#8220;From&#8221; field. The one you signed up to mediaburst with. We need this to identify the incoming email.</li>
<li>Your mediaburst API password in the &#8220;Subject&#8221; line.</li>
<li>The text message content in the email body (ideally less than 160 characters).</li>
</ul>
<p>You can see this in action here.</p>
<p style="text-align: center;"><a href="http://www2.mbstatic.co.uk/wp-content/uploads/2011/09/Contact-Form-7-SMS1.png"><img class="aligncenter size-large wp-image-56062" title="Contact Form 7 SMS" src="http://www1.mbstatic.co.uk/wp-content/uploads/2011/09/Contact-Form-7-SMS1-788x490.png" alt="" width="567" height="353" /></a></p>
<p>I&#8217;ve used the Mail (2) section of Contact Form 7 because I only want summarised information sent via SMS to my mobile, the full contact form submission is still sent via email as usual.</p>
<p>And the second answer is also &#8220;Yes&#8221;. Mediaburst can send the message to just about any country in the world, just make sure you prefix your mobile number with the relevant international dialling code.</p>
<p>And that&#8217;s how to set up Contact Form 7 SMS, couldn&#8217;t be easier.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mediaburst.co.uk/blog/wordpress-contact-form-7-sms/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Long&#160;SMS</title>
		<link>http://www.mediaburst.co.uk/blog/long-sms/</link>
		<comments>http://www.mediaburst.co.uk/blog/long-sms/#comments</comments>
		<pubDate>Thu, 08 Sep 2011 07:00:34 +0000</pubDate>
		<dc:creator>John</dc:creator>
				<category><![CDATA[API & technical]]></category>
		<category><![CDATA[Learn about SMS]]></category>

		<guid isPermaLink="false">http://www.mediaburst.co.uk/?p=54581</guid>
		<description><![CDATA[Although a standard single SMS text message is restricted to 160 characters, longer text messages are possible using the concatenation feature. Concatenation is a way of sending multiple SMS that get stitched together on the recipient’s phone, thus appearing as a single, long SMS. In theory you could concatenate 255 SMS to produce one long [...]]]></description>
			<content:encoded><![CDATA[<p>Although a standard single SMS text message is restricted to 160 characters, longer text messages are possible using the concatenation feature. Concatenation is a way of sending multiple SMS that get stitched together on the recipient’s phone, thus appearing as a single, long SMS.</p>
<p>In theory you could concatenate 255 SMS to produce one long SMS, but in practice this is likely to crash a mobile phone, incur significant costs, and annoy the recipient.<span id="more-54581"></span></p>
<p>Our statistics show that most long SMS contain less than 306 characters (the limit of 2 concatenated SMS), and very few exceed 459 (3 concatenated SMS). For this reason both our web application <a href="/textburst/">textburst</a> and our <a href="/api/">SMS API</a> allow you to send up to 3 SMS that can make up a single long SMS.</p>
<p>If you’re looking for a more in depth technical discussion then refer to our article on <a href="/blog/concatenated-sms/">Concatenating SMS</a>. It covers the technical requirements and use of the UDH (user data header) to form the long SMS.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mediaburst.co.uk/blog/long-sms/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Sending SMS from&#160;Zendesk</title>
		<link>http://www.mediaburst.co.uk/blog/sending-sms-from-zendesk/</link>
		<comments>http://www.mediaburst.co.uk/blog/sending-sms-from-zendesk/#comments</comments>
		<pubDate>Thu, 25 Aug 2011 07:00:45 +0000</pubDate>
		<dc:creator>Gary</dc:creator>
				<category><![CDATA[API & technical]]></category>
		<category><![CDATA[Behind the scenes]]></category>

		<guid isPermaLink="false">http://www.mediaburst.co.uk/?p=53551</guid>
		<description><![CDATA[Zendesk provides a feature which allows you to send text messages to a designated mobile phone number when certain actions occur e.g. you receive a new ticket, (Zendesk call these &#8220;triggers&#8221;). In this article we&#8217;ll show you how to integrate Zendesk with mediaburst so you can use this SMS feature. We&#8217;re not just talking about getting [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.zendesk.com" target="_blank">Zendesk</a> provides a feature which allows you to send text messages to a designated mobile phone number when certain actions occur e.g. you receive a new ticket, (Zendesk call these &#8220;triggers&#8221;). In this article we&#8217;ll show you how to integrate Zendesk with mediaburst so you can use this SMS feature.</p>
<p>We&#8217;re not just talking about getting notified by SMS when you receive new tickets, you can configure a wide range of events to trigger the SMS. Maybe changes in ticket status or when a ticket is assigned to you. Pretty handy if you run a small company and can&#8217;t be sat in front of a screen on a permanent basis.</p>
<p>I&#8217;ll run through a basic set up here, but if you need any assistance just give us a call.</p>
<p><span id="more-53551"></span></p>
<p>I&#8217;ll assume you have a Zendesk account, if you haven&#8217;t already you&#8217;ll also need a mediaburst <a href="/api/">SMS API</a> account.</p>
<h2>Zendesk SMS Setup</h2>
<p>First you need to setup the target in Zendesk:</p>
<p>Under the &#8216;<strong>SETTINGS</strong>&#8216; menu item select &#8216;<strong>Extensions</strong>&#8216;.</p>
<p>Click the tab &#8216;<strong>Targets</strong>&#8216; and then &#8216;<strong>add target</strong>&#8216;.</p>
<p>You&#8217;ll be given a load of options, you want the one titled &#8216;<strong>URL Target</strong>&#8216;.</p>
<p>You now have a set of options that looks like this:<a href="http://www2.mbstatic.co.uk/wp-content/uploads/2011/08/Zendesk-URL-Target.jpg"><img class="aligncenter size-large wp-image-53601" title="Zendesk URL Target" src="http://www1.mbstatic.co.uk/wp-content/uploads/2011/08/Zendesk-URL-Target-788x728.jpg" alt="" width="788" height="425" /></a></p>
<p><strong>Title</strong>: We called ours &#8220;mediaburstsms&#8221; but feel free to call it what you want.</p>
<p><strong>Url</strong>: We&#8217;ll come back to this in a second.</p>
<p><strong>Method</strong>: select &#8216;GET&#8217;</p>
<p><strong>Attribute Name</strong>: type the word &#8216;<strong>Content</strong>&#8216; into this box.</p>
<p><strong>Url</strong>: The Url field is where the most important info goes including:</p>
<ul>
<li>your username and password for the Mediaburst SMS API, and</li>
<li>the mobile phone number where the notifications will be sent to</li>
</ul>
<p>You need to copy and paste the following line of code, but replace some parts with your security information. Don&#8217;t worry you don&#8217;t need to be techy, just read through the code and replace:</p>
<p>YourMediaburstUsername</p>
<p>YourMediaburstPassword</p>
<p>YourMobilePhoneNumber</p>
<p>Replace these words only, nothing before or after them, don&#8217;t replace any &#8216;=&#8217; or &#8216;&amp;&#8217;, literally just those words above.</p>
<p>Here&#8217;s the code:</p>
<pre class="brush: plain; title: ; notranslate">http://sms.message-platform.com/http/send.aspx?Username=YourMediaburstUsername&amp;amp;Password=YourMediaburstPassword&amp;amp;To=YourMobilePhoneNumber&amp;amp;From=Zendesk</pre>
<p>Once you have put this code in the Url field you should be able to select &#8216;<strong>Test target</strong>&#8216; and you&#8217;ll receive a test SMS.</p>
<p>Save the settings before you click away from this page.</p>
<p>Now you&#8217;ll need to set some triggers i.e. events that will give rise to an SMS being triggered. You&#8217;ll find them in Zendesk in the main menu under &#8216;<strong>MANAGE</strong>&#8216;, then &#8216;<strong>Triggers</strong>&#8216; and &#8216;<strong>mail notifications</strong>&#8216;.</p>
<p>I set up a trigger to notify me when we receive a new ticket. To make the information more useful I&#8217;ve included the requesters name and the subject field in the SMS.</p>
<p>Here&#8217;s a screen shot of my trigger configuration, and the resulting SMS.</p>
<p><a href="http://www2.mbstatic.co.uk/wp-content/uploads/2011/08/Zendesk-Trigger.jpg"><img class="aligncenter size-full wp-image-53861" title="Zendesk Trigger" src="http://www2.mbstatic.co.uk/wp-content/uploads/2011/08/Zendesk-Trigger.jpg" alt="" width="549" height="500" /></a></p>
<p><a href="http://www1.mbstatic.co.uk/wp-content/uploads/2011/08/IMG_0888.png"><img class="aligncenter size-full wp-image-53921" title="IMG_0888" src="http://www1.mbstatic.co.uk/wp-content/uploads/2011/08/IMG_0888.png" alt="" width="320" height="480" /></a></p>
<p>And that&#8217;s it, I accept the URL mechanism isn&#8217;t the most user-friendly for non techies but it&#8217;s flexible and, as I said above, if you need any help then give us a call.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mediaburst.co.uk/blog/sending-sms-from-zendesk/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>How to set the ‘From’ field with mediaburst’s SMS&#160;API</title>
		<link>http://www.mediaburst.co.uk/blog/how-to-set-the-%e2%80%98from%e2%80%99-field-with-mediaburst%e2%80%99s-sms-api/</link>
		<comments>http://www.mediaburst.co.uk/blog/how-to-set-the-%e2%80%98from%e2%80%99-field-with-mediaburst%e2%80%99s-sms-api/#comments</comments>
		<pubDate>Thu, 18 Aug 2011 07:00:16 +0000</pubDate>
		<dc:creator>Dawn</dc:creator>
				<category><![CDATA[API & technical]]></category>

		<guid isPermaLink="false">http://www.mediaburst.co.uk/?p=53371</guid>
		<description><![CDATA[If you send text messages your recipients will want to know who’s texting them. That&#8217;s why our SMS API has been set up to make updating the ‘from’ field or &#8216;originator&#8217; as easy as pie. Here’s how to add in an originator with a couple of simple moves: Decide on your originator: It needs to [...]]]></description>
			<content:encoded><![CDATA[<p>If you send text messages your recipients will want to know who’s texting them. That&#8217;s why our <a href="/api/">SMS API</a> has been set up to make updating the ‘from’ field or &#8216;originator&#8217; as easy as pie.</p>
<p>Here’s how to add in an originator with a couple of simple moves:</p>
<h2>Decide on your originator:</h2>
<ol>
<li>It needs to be 11 characters max if it’s an alpha, or 12 max if numeric.</li>
<li>You can send from either a name, for instance a company or promotion name, or a mobile number if you want to get replies.</li>
<li>We advise not to use spaces or punctuation in your from field, some handsets don’t read them very well.</li>
</ol>
<p>Check out additional information on originators if you are <a href="http://www.mediaburst.co.uk/blog/sending-sms-internationally-via-our-sms-api/">sending SMS internationally.<span id="more-53371"></span></a></p>
<h2>Add your originator:</h2>
<ol>
<li>Enter the originator into your request, using the ‘from’ parameter</li>
<li>Here’s a sample HTTP request using &#8220;mediaburst&#8221; as the originator:</li>
</ol>
<pre class="brush: plain; title: ; notranslate">http://sms.message-platform.com/http/send.aspx?Username=my_user&amp;amp;Password=my_pass&amp;amp;To=441234567890&amp;amp;From=mediaburst&amp;amp;Content=Hello</pre>
<p>And that’s it.</p>
<h2>Setting a default originator:</h2>
<p>If you’re feeling tired of all that coding, you can ask us to set a default originator for you. The default will be used if you don&#8217;t complete the ‘from’ field in a request.</p>
<p>Just email <a href="mailto:hello@mediaburst.co.uk">hello@mediaburst.co.uk</a> and we’ll sort it out.  You can override the default by specifying the ‘from’ parameter on those occasions you’d like your text to be from something different.</p>
<p>All in all, easy to set, and easy to change.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mediaburst.co.uk/blog/how-to-set-the-%e2%80%98from%e2%80%99-field-with-mediaburst%e2%80%99s-sms-api/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SMS Door&#160;Alarm</title>
		<link>http://www.mediaburst.co.uk/blog/sms-door-alarm/</link>
		<comments>http://www.mediaburst.co.uk/blog/sms-door-alarm/#comments</comments>
		<pubDate>Thu, 04 Aug 2011 07:00:46 +0000</pubDate>
		<dc:creator>Gary</dc:creator>
				<category><![CDATA[API & technical]]></category>
		<category><![CDATA[Behind the scenes]]></category>

		<guid isPermaLink="false">http://www.mediaburst.co.uk/?p=50311</guid>
		<description><![CDATA[We love creative uses of our SMS API and this bedroom door alarm by 19 year old student Damien Walsh is quality. It&#8217;s a mashup of both electronics and a C# application that accesses the mediaburst SMS API. The result is a text message being sent to his mobile every time the door is opened. [...]]]></description>
			<content:encoded><![CDATA[<p>We love creative uses of our SMS API and this bedroom door alarm by 19 year old student <a href="http://twitter.com/#!/themainframe" target="_blank">Damien Walsh</a> is quality.</p>
<p>It&#8217;s a mashup of both electronics and a C# application that accesses the mediaburst SMS API. The result is a text message being sent to his mobile every time the door is opened. Simple, but effective.</p>
<p>You can read the full details and spec on <a href="http://www.damow.net/2011/07/06/vm167-prototype-experiments-sms-on-open/" target="_blank">Damien&#8217;s blog</a></p>
<p style="text-align: center;"><img class="aligncenter size-large wp-image-50321" title="IMG_1173" src="http://www2.mbstatic.co.uk/wp-content/uploads/2011/07/IMG_1173-788x588.jpg" alt="" width="473" height="353" /><br />
<img class="aligncenter size-full wp-image-50331" title="IMG_1170" src="http://www2.mbstatic.co.uk/wp-content/uploads/2011/07/IMG_1170.jpg" alt="" width="512" height="313" /></p>
<p>If you know if any creative uses of our <a href="/api/">SMS API</a> then get in touch and we&#8217;ll do a write up.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mediaburst.co.uk/blog/sms-door-alarm/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sending SMS Internationally via our SMS&#160;API</title>
		<link>http://www.mediaburst.co.uk/blog/sending-sms-internationally-via-our-sms-api/</link>
		<comments>http://www.mediaburst.co.uk/blog/sending-sms-internationally-via-our-sms-api/#comments</comments>
		<pubDate>Thu, 07 Jul 2011 12:46:43 +0000</pubDate>
		<dc:creator>Dawn</dc:creator>
				<category><![CDATA[API & technical]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[bulk sms]]></category>
		<category><![CDATA[sms]]></category>

		<guid isPermaLink="false">http://www.mediaburst.co.uk/?p=47602</guid>
		<description><![CDATA[It&#8217;s surprising how many people ask if it&#8217;s possible to send texts internationally via our SMS API. The answer is a resounding yes, to over 150 countries and over 400 networks. It certainly indicates we need more information on the website about our international credentials, but while we prepare something here&#8217;s a taster: Basically sending internationally is [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s surprising how many people ask if it&#8217;s possible to send texts internationally via our <a href="/api/">SMS API</a>. The answer is a resounding yes, to over 150 countries and over 400 networks.</p>
<p>It certainly indicates we need more information on the website about our international credentials, but while we prepare something here&#8217;s a taster:<span id="more-47602"></span></p>
<p>Basically sending internationally is as easy as sending to UK destinations, you just need the international prefix (e.g. 44) on the mobile phone number. Line your messages up and watch them deliver round the world. They’ll be just as happy zipping down the road and to the next city too.</p>
<h2>Get the code</h2>
<p>There’s plenty of useful stuff in our <a href="http://www.mediaburst.co.uk/api/">SMS API code kits</a> that will help you with integrating. There&#8217;s C#, PHP, Perl, ASP plus a Ruby Gem if that&#8217;s your thing.</p>
<p>If you need expert help, we’ve got that too. Our techies have years of experience.  They’re also the guys watching your back and maintaining our platform 24/7.</p>
<h2>A couple of tips for you</h2>
<ol>
<li>Some international networks block alpha originators or company names.  Use the ‘<a href="http://www.mediaburst.co.uk/api/sending-a-message/parameters/#param-from">from</a>’ field parameter to set a numeric originator when sending outside the UK.</li>
<li>Just use the international country code. There’s no need for the &#8217;00&#8242; or ‘+’ with our SMS API</li>
</ol>
<p>Any questions, just let us know, always here to help.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mediaburst.co.uk/blog/sending-sms-internationally-via-our-sms-api/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Use IP Filtering on the SMS API for better&#160;Security</title>
		<link>http://www.mediaburst.co.uk/blog/use-ip-filtering-on-the-sms-api-for-better-security/</link>
		<comments>http://www.mediaburst.co.uk/blog/use-ip-filtering-on-the-sms-api-for-better-security/#comments</comments>
		<pubDate>Thu, 16 Jun 2011 09:02:20 +0000</pubDate>
		<dc:creator>Dawn</dc:creator>
				<category><![CDATA[API & technical]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[security]]></category>

		<guid isPermaLink="false">http://www.mediaburst.co.uk/?p=45702</guid>
		<description><![CDATA[This is one for our SMS API users. Locking down your SMS API account to named IP ranges is a great way to prevent unauthorised access or use of your SMS account. It&#8217;s also very quick to implement and we don&#8217;t charge any additional fees for the service. How does it work? We simply maintain [...]]]></description>
			<content:encoded><![CDATA[<p>This is one for our <a href="/api/">SMS API</a> users. Locking down your SMS API account to named IP ranges is a great way to prevent unauthorised access or use of your SMS account. It&#8217;s also very quick to implement and we don&#8217;t charge any additional fees for the service.<span id="more-45702"></span></p>
<h2>How does it work?</h2>
<p>We simply maintain an access database against your account and block anything outside of your named range. It might not be the most exciting thing, but it could be crucial.</p>
<p>For an added level of security, you can also set your system to allow our named range of IP’s for the mediaburst SMS API, which are as follows:</p>
<p>CIDR                                      Netmask                              Address Range</p>
<p>89.248.48.192/27              255.255.255.224                89.248.48.192 – 89.248.48.223</p>
<p>217.20.43.96/27                255.255.255.224                217.20.43.96 – 217.20.43.127</p>
<h2>How do I lock it down?</h2>
<p>Just send us an email to <a href="mailto:hello@mediaburst.co.uk?subject=Please put IP filtering on my account">hello@mediaburst.co.uk</a> with your account details and your named IP ranges and we&#8217;ll do the rest.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mediaburst.co.uk/blog/use-ip-filtering-on-the-sms-api-for-better-security/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to send SMS updates via Capsule&#160;CRM.</title>
		<link>http://www.mediaburst.co.uk/blog/send-sms-from-capsule-crm/</link>
		<comments>http://www.mediaburst.co.uk/blog/send-sms-from-capsule-crm/#comments</comments>
		<pubDate>Thu, 21 Apr 2011 07:00:53 +0000</pubDate>
		<dc:creator>Gary</dc:creator>
				<category><![CDATA[API & technical]]></category>

		<guid isPermaLink="false">http://www.mediaburst.co.uk/?p=43662</guid>
		<description><![CDATA[Paul Sheraton at PC Healer powers his business using Capsule CRM. He’s integrated Capsule with Google Contacts, his accounting software, and his telephone answering service. It means he’s got a central place for client communication and can logon from anywhere to see what’s going on in the business. But Paul recognises that not everyone has [...]]]></description>
			<content:encoded><![CDATA[<p>Paul Sheraton at <a href="http://www.pc-healer.co.uk/">PC Healer</a> powers his business using <a href="http://capsulecrm.com/">Capsule CRM</a>. He’s integrated Capsule with Google Contacts, his accounting software, and his telephone answering service. It means he’s got a central place for client communication and can logon from anywhere to see what’s going on in the business.<span id="more-43662"></span></p>
<p style="text-align: center;"><a href="http://www2.mbstatic.co.uk/wp-content/uploads/2011/04/Capsule-CRM.png"><img class="aligncenter size-full wp-image-43722" title="Capsule CRM" src="http://www2.mbstatic.co.uk/wp-content/uploads/2011/04/Capsule-CRM.png" alt="" width="529" height="300" /></a></p>
<p>But Paul recognises that not everyone has email, and wanted to update his customers while they were on the move, via SMS.</p>
<p>Originally Paul was logging into a web service to send text messages but it made more sense to send directly from Capsule, hence looking at integrating with mediaburst.</p>
<p>Using the HTTP interface of <a href="/api/">SMS API</a> he’s got Capsule CRM to send out SMS updates. He’s even produced <a href="http://www.pc-healer.co.uk/Mediaburst.htm">this step by step guide</a> so other Capsule users can follow in his footsteps.</p>
<p>Paul was very complimentary about mediaburst, “Luckily I found mediaburst….I am now able to send my customers SMS updates within Capsule CRM, something I never dreamed of”.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mediaburst.co.uk/blog/send-sms-from-capsule-crm/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Improvement in the way we send SMS to&#160;America</title>
		<link>http://www.mediaburst.co.uk/blog/send-sms-to-america-usa/</link>
		<comments>http://www.mediaburst.co.uk/blog/send-sms-to-america-usa/#comments</comments>
		<pubDate>Thu, 14 Apr 2011 08:00:43 +0000</pubDate>
		<dc:creator>Gary</dc:creator>
				<category><![CDATA[API & technical]]></category>
		<category><![CDATA[Behind the scenes]]></category>
		<category><![CDATA[Textburst]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[bulk sms]]></category>
		<category><![CDATA[shortcode]]></category>

		<guid isPermaLink="false">http://www.mediaburst.co.uk/?p=43452</guid>
		<description><![CDATA[Last week we implemented a change that enables us to deliver Bulk SMS to people in America via a dedicated local carrier. All messages to USA mobile numbers will arrive on handsets from the shortcode 43704. They will arrive via a local network provider, and the recipients will be able to reply to the message [...]]]></description>
			<content:encoded><![CDATA[<p>Last week we implemented a change that enables us to deliver Bulk SMS to people in America via a dedicated local carrier. All messages to USA mobile numbers will arrive on handsets from the shortcode 43704. They will arrive via a local network provider, and the recipients will be able to reply to the message to opt out of receiving any further SMS.<span id="more-43452"></span></p>
<p>All messages regardless of coming through the <a href="/api/">SMS API</a>, from <a href="/textburst/">Textburst</a>, or <a href="/outlook-sms/">Outlook Mobile Service</a> will be dealt with in this manner. You don&#8217;t need to change a thing.</p>
<p>This is a big step forward in deliverability to the USA. The shortcode 43704 is fully registered with the <a href="http://www.usshortcodes.com">Common Short Code Administration</a> so complies fully with their network and regulatory requirements.</p>
<p>North America has some unique complexities in their SMS industry that mean delivery to mobile numbers in the USA can be problematic. Before this upgrade we could deliver SMS to the USA but had to disclaim the service, which, I admit didn’t feel comfortable.</p>
<p>In addition to our discomfort we are also receiving a greater demand for messaging to the USA, and, have a product in the pipeline that will squarely align our services with a large body of software developers in the USA.</p>
<p>The general problem was messages were classed as arriving from an international destination meaning a recipient of the message could be charged (some pay for SMS received in the USA) the rate of an international SMS.</p>
<p>Not only that but all machine to handset orientated messages in the USA should come from a numerical number (rather than an alpha numeric that we use in Europe) so that the recipient could reply to opt out of receiving further communication.</p>
<p>All our SMS to the USA came from a numerical long number but that wasn’t actually a proper reply path for opt outs.</p>
<p>With this upgrade we are now in the fortunate position of delivering on a dedicated and registered short code, we deliver via a fully registered carrier based in the USA, and can process the opt outs as is the requirement.</p>
<p>A big step forward indeed, if you have any questions at all about SMS delivery to America then <a href="/contact/">get in touch</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mediaburst.co.uk/blog/send-sms-to-america-usa/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Send SMS from&#160;FileMaker</title>
		<link>http://www.mediaburst.co.uk/blog/send-sms-from-filemaker/</link>
		<comments>http://www.mediaburst.co.uk/blog/send-sms-from-filemaker/#comments</comments>
		<pubDate>Thu, 03 Mar 2011 07:00:46 +0000</pubDate>
		<dc:creator>Gary</dc:creator>
				<category><![CDATA[API & technical]]></category>
		<category><![CDATA[Industry news]]></category>

		<guid isPermaLink="false">http://www.mediaburst.co.uk/?p=38952</guid>
		<description><![CDATA[fmSMS is a FileMaker Pro add-on that lets you send and receive SMS from Filemaker. The latest release of fmSMS puts the mediaburst API on their SMS Gateway list. Millions of people use FileMaker to manage information on Windows, Mac, and the web. With the fmSMS add-on you can send and receive text messages direct [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.fmsms.com">fmSMS</a> is a <a href="http://www.filemaker.co.uk">FileMaker Pro</a> add-on that lets you send and receive SMS from Filemaker.</p>
<p>The latest release of fmSMS puts the mediaburst API on their <a href="/api/">SMS Gateway</a> list.</p>
<p>Millions of people use FileMaker to manage information on Windows, Mac, and the web. With the fmSMS add-on you can send and receive text messages direct from FileMaker.<span id="more-38952"></span></p>
<p>It&#8217;s more than a basic integration, fmSMS supports single and <a href="/">bulk SMS sends</a>, alphanumeric sender ID, delayed delivery and delivery receipts. It&#8217;s a complete package to get text messages direct to the mobile  phones of your Filemaker contacts.</p>
<p>In the words of fmSMS:</p>
<p>&#8220;We know FileMaker is a great Customer Relationship Management tool so it makes sense to integrate the ability to communicate via SMS within your existing FileMaker solution.</p>
<p>SMS is a great means of direct communication with customers, staff, suppliers, students. It&#8217;s personal, quick and more immediate than email/fax/letter.&#8221;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mediaburst.co.uk/blog/send-sms-from-filemaker/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Building a demo of&#160;textburst</title>
		<link>http://www.mediaburst.co.uk/blog/building-a-demo%c2%a0site/</link>
		<comments>http://www.mediaburst.co.uk/blog/building-a-demo%c2%a0site/#comments</comments>
		<pubDate>Tue, 01 Mar 2011 14:11:52 +0000</pubDate>
		<dc:creator>Martin</dc:creator>
				<category><![CDATA[API & technical]]></category>
		<category><![CDATA[Behind the scenes]]></category>
		<category><![CDATA[Textburst]]></category>
		<category><![CDATA[demo]]></category>
		<category><![CDATA[sms]]></category>

		<guid isPermaLink="false">http://www.mediaburst.co.uk/?p=27002</guid>
		<description><![CDATA[We launched our first textburst demo in early January last year. It was aimed at existing customers showing them what to expect in our upcoming redesign, they already knew what features were in the product so we focused on what had changed. This first demo was a simple affair, we manually copied the page HTML, [...]]]></description>
			<content:encoded><![CDATA[<p>We launched our first <a href="http://demo.mediaburst.co.uk">textburst demo</a> in early January last year.   It was aimed at existing customers showing them what to expect in our upcoming redesign, they already knew what features were in the product so we focused on what had changed.</p>
<p>This first demo was a simple affair, we manually copied the page HTML, output by textburst, into a few new files and then ran them through a shell script which called sed a dozen or so times to replace anything that didn&#8217;t work without the full application behind it.<span id="more-27002"></span></p>
<p>Since putting the new design live we felt we needed to show off all the features to prospective customers. What really surprised us was just how much work is involved to create a fully featured demo.</p>
<p>Our requirements seem simple at a glance:</p>
<ul>
<li>Look and feel like textburst</li>
<li>Include all major textburst features (except payments)</li>
<li>Be easy to update</li>
<li>Don&#8217;t really send text messages</li>
</ul>
<p>For various internal reasons the demo needed to run on the same server as this website, this left us needing to run a C#, ASP.NET web application on a server running PHP and Linux.  To make this work we came up with the following steps:</p>
<ol>
<li>Log in to textburst on our development platform</li>
<li>Grab a copy of all the relevant pages</li>
<li>Run some standard find and replaces to remove ASP.NET specific content</li>
<li>Add PHP include files at the top of each page</li>
<li>Add in page specific PHP includes</li>
<li>Remove any development data</li>
<li>Copy this altered page and any includes in to a directory ready for release</li>
<li>Create some demo contacts and sends using PHP Sessions for display to users</li>
</ol>
<p>Just over 800 lines of perl later we have a wonderful jumble of regular expressions and a dozen or so php files that make textburst into the simple demo you can see today.</p>
<p>By automating this step we can just re-run the perl script each time we do a release keeping the demo perfectly up to date and preventing any surprises once you&#8217;ve signed up.</p>
<p>We do still have to create page specific include files for some of the pages to show how the product actually works.  For example, we add an include to the send message page which displays either a sent successfully or failure message depending upon whether all the form fields were completed.   It also adds the sent message to your session so it shows on the sent messages page.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mediaburst.co.uk/blog/building-a-demo%c2%a0site/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SMS API update to&#160;error handling</title>
		<link>http://www.mediaburst.co.uk/blog/sms-api-update-to-error-handling/</link>
		<comments>http://www.mediaburst.co.uk/blog/sms-api-update-to-error-handling/#comments</comments>
		<pubDate>Wed, 22 Dec 2010 12:27:28 +0000</pubDate>
		<dc:creator>Gary</dc:creator>
				<category><![CDATA[API & technical]]></category>

		<guid isPermaLink="false">http://www.mediaburst.co.uk/?p=33832</guid>
		<description><![CDATA[We have a project to improve SMS API error handling so we can return more accurate error messages. This is a longer term project which can be broken down to smaller parts, the first of which has just been released. This first part is a bug fix where if we can’t deduct credit or charge [...]]]></description>
			<content:encoded><![CDATA[<p>We have a project to improve <a href="/api">SMS API</a> error handling so we can return more accurate error messages.</p>
<p>This is a longer term project which can be broken down to smaller parts, the first of which has just been released.</p>
<p>This first part is a bug fix where if we can’t deduct credit or charge you for the messages then we provided an “insufficient credit” error.</p>
<p>With this release you will now receive “internal error”.</p>
<p>If you do receive “internal error” then we recommend you retry after one minute.</p>
<p>You can read more detail about error handling on this page of the <a href="/api/reference/error-codes">SMS API Documentation</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mediaburst.co.uk/blog/sms-api-update-to-error-handling/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Using the &#8216;from&#8217; field to personalise text&#160;messages</title>
		<link>http://www.mediaburst.co.uk/blog/using-the-sms-originator-field-the-from-field-to-personalise-text-messages/</link>
		<comments>http://www.mediaburst.co.uk/blog/using-the-sms-originator-field-the-from-field-to-personalise-text-messages/#comments</comments>
		<pubDate>Tue, 23 Nov 2010 11:00:23 +0000</pubDate>
		<dc:creator>Dawn</dc:creator>
				<category><![CDATA[API & technical]]></category>
		<category><![CDATA[Textburst]]></category>

		<guid isPermaLink="false">http://www.mediaburst.co.uk/?p=31922</guid>
		<description><![CDATA[You can use the SMS ‘originator’ to let your customers know who the message is from. The originator is what appears on their phones inbox. It’s the field that says “new message from mum”, or “John” or whoever the message is from. Personalised originators let you send bulk SMS messages from textburst with the name [...]]]></description>
			<content:encoded><![CDATA[<p>You can use the SMS ‘originator’ to let your customers know who the message is from. The originator is what appears on their phones inbox. It’s the field that says “new message from mum”, or “John” or whoever the message is from.</p>
<p>Personalised originators let you send <a href="/textburst">bulk SMS</a> messages from textburst with the name of your company or promotion.</p>
<p>The originator can be up to 11 characters but we don’t recommend either punctuation or spaces as some network providers don’t support them in the originator field.</p>
<p>In textburst you can go to Settings in the top right hand corner and select ‘Originator Settings’.</p>
<p style="text-align: center;"><a href="http://www2.mbstatic.co.uk/wp-content/uploads/2010/11/originator-settings.png"><img class="aligncenter size-full wp-image-32942" title="originator settings" src="http://www2.mbstatic.co.uk/wp-content/uploads/2010/11/originator-settings.png" alt="" width="844" height="350" /></a></p>
<p>Update with the word you would like to use for the originator and click save.</p>
<p>The next time you send a broadcast, you have the option to select the originator you’ve chosen.</p>
<p>And don’t worry, if you’re stuck for ideas on what to send out to your customers then <a href="/10-things-to-do-with-sms/">our list of what to do with SMS</a> will provide you with all the inspiration you need.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mediaburst.co.uk/blog/using-the-sms-originator-field-the-from-field-to-personalise-text-messages/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>The GSM character set in&#160;.NET</title>
		<link>http://www.mediaburst.co.uk/blog/the-gsm-character-set-in-net/</link>
		<comments>http://www.mediaburst.co.uk/blog/the-gsm-character-set-in-net/#comments</comments>
		<pubDate>Mon, 18 Oct 2010 09:58:00 +0000</pubDate>
		<dc:creator>Martin</dc:creator>
				<category><![CDATA[API & technical]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[gsm]]></category>
		<category><![CDATA[Open source]]></category>
		<category><![CDATA[sms]]></category>

		<guid isPermaLink="false">http://www.mediaburst.co.uk/?p=30562</guid>
		<description><![CDATA[We&#8217;ve released our first open source project on github.  It&#8217;s a .NET class library for encoding and decoding text to or from the GSM character set. One of our SMS suppliers recently changed the encoding on MO messages from Latin1 to GSM as it supports a wider range of characters. After quite a bit of [...]]]></description>
			<content:encoded><![CDATA[<p>We&#8217;ve released our first open source project on <a href="http://github.com/mediaburst/">github</a>.  It&#8217;s a .NET class library for encoding and decoding text to or from the <a href="/blog/the-gsm-character-set/">GSM character set</a>.</p>
<p>One of our SMS suppliers recently changed the encoding on <abbr title="Mobile Originated">MO</abbr> messages from Latin1 to GSM as it supports a wider range of characters.  After quite a bit of searching the web we couldn&#8217;t find any examples of how to work with GSM encoded text in C# so we wrote our own.<span id="more-30562"></span></p>
<p>To keep things simple we&#8217;ve inherited from System.Text.Encoding creating a Mediaburst.Text.GSMEncoding class.  Characters are encoded using a simple one to one mapping of GSM bytes to Unicode character.</p>
<p>We&#8217;ve just released it on github under the <abbr title="Internet Systems Consortium">ISC</abbr> license, one of the few open-source licenses written in simple clear English, so feel free to grab a copy and use it in your projects.</p>
<h2>How to use</h2>
<p>We use the following to convert GSM encoded text to UTF-8 on a web server.</p>
<p>The utf8Enc.GetBytes(body) that looks a little out of place is needed as the server assumes all GET and POST parameters are UTF-8 encoded.</p>
<pre class="brush: plain; title: ; notranslate">
string body = &quot;Some GSM encoded text&quot;;
Encoding gsmEnc = new Mediaburst.Text.GSMEncoding();
Encoding utf8Enc = new System.Text.UTF8Encoding();
byte[] gsmBytes = utf8Enc.GetBytes(body);
byte[] utf8Bytes = Encoding.Convert(gsmEnc, utf8Enc, gsmBytes);
body = utf8Enc.GetString(utf8Bytes);
</pre>
<h2>Caveats</h2>
<p>The encoding functions don&#8217;t currently support the EncoderFallback and DecoderFallback error handlers for invalid characters or follow the Microsoft convention of replacing an invalid character with a question marks.  Invalid characters will be ignored and missing from the converted string.</p>
<h2>Get the code</h2>
<p><a href="http://github.com/mediaburst/.NET-GSM-Encoding">Download from github</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.mediaburst.co.uk/blog/the-gsm-character-set-in-net/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Using SMS delivery receipts to&#160;cleanse data</title>
		<link>http://www.mediaburst.co.uk/blog/using-sms-delivery-receipts-to-cleanse-data/</link>
		<comments>http://www.mediaburst.co.uk/blog/using-sms-delivery-receipts-to-cleanse-data/#comments</comments>
		<pubDate>Wed, 06 Oct 2010 10:42:16 +0000</pubDate>
		<dc:creator>Sarah</dc:creator>
				<category><![CDATA[API & technical]]></category>
		<category><![CDATA[Learn about SMS]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[data cleansing]]></category>
		<category><![CDATA[sms]]></category>
		<category><![CDATA[SMS Marketing]]></category>
		<category><![CDATA[Textburst]]></category>

		<guid isPermaLink="false">http://www.mediaburst.co.uk/?p=30121</guid>
		<description><![CDATA[Not every text message you send will get delivered to a mobile phone. Inevitably some of your contacts will be out of mobile range, some may be abroad, some have phones switched off, others may have changed number, and maybe you got some numbers wrong. We do provide some excellent Delivery Status information in our [...]]]></description>
			<content:encoded><![CDATA[<p>Not every text message you send will get delivered to a mobile phone. Inevitably some of your contacts will be out of mobile range, some may be abroad, some have phones switched off, others may have changed number, and maybe you got some numbers wrong.</p>
<p>We do provide some excellent Delivery Status information in our <a href="/textburst">Online SMS</a> service textburst and even more if you send via our <a href="/api">SMS API</a>. By understanding and using this data you can cut down on undelivered messages and make some good cost savings too.<span id="more-30121"></span></p>
<h2>SMS API</h2>
<p>Users of the API can get some pretty detailed information on the delivery status of each message, the full table is in our <a href="http://www.mediaburst.co.uk/api/sending-a-message/delivery-receipts/">SMS API documentation</a>.</p>
<p>They 2 key parameters to be concerned with are DELIVERY_STATUS and ERR_CODE.</p>
<p>If under DELIVERY_STATUS you receive UNDELIV or REJECTED (undelivered or rejected) then it warrants further investigation using the ERR_CODE parameter.</p>
<p>ERR_CODE numbers 5 or 9 indicate no matter how many times you try you simply cannot send a text message to this number. Most likely because the number has been cancelled or less likely the phone does not support text messaging. If you get a 5 or 9 we suggest you remove this number and try other means of contact.</p>
<p>ERR_CODE numbers 4, 6, 7, or 10 indicate a Temporary error and chances are it’ll clear given time. We suggest you hold off sending to this number for a week or so, maybe they are on holiday or having technical difficulties with their phone.</p>
<p>It’s also likely you&#8217;ll see some of the less decisive error codes including the unhelpful network error code of “unknown – no details provided by the network”.</p>
<p>By doing a periodic review of all your undelivered or rejected messages you can help reduce these errors. Look for the number of occurrences you tried to send to any one given number, if it’s always failing for whatever reason then chances are this is no longer a valid contact number for your customer.</p>
<h2>Textburst</h2>
<p>If you’re using textburst then the error code information is summarised and we suggest a periodic review of the information to identify bad data. Warning: you might need someone handy with a spreadsheet.</p>
<p>Once you have logged into textburst go to Sent Messages.</p>
<p>Click the small pie chart next to each batch of sent messages.</p>
<p>Then select “List View” in the main heading.</p>
<p>You’ve now got a list of each message, the mobile number and delivery status. You’ll notice on the right hand side an option to download the complete information to a spreadsheet.</p>
<p>We suggest downloading all your sends and searching for those numbers that regularly or never deliver, using this data you can either delete contacts or follow your own path to correct the data for future sends.</p>
<p>I hope this is helpful, if you need any more information or guidance then just ask.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mediaburst.co.uk/blog/using-sms-delivery-receipts-to-cleanse-data/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Server virtualisation</title>
		<link>http://www.mediaburst.co.uk/blog/server-virtualisation/</link>
		<comments>http://www.mediaburst.co.uk/blog/server-virtualisation/#comments</comments>
		<pubDate>Tue, 20 Jul 2010 13:13:32 +0000</pubDate>
		<dc:creator>Allan</dc:creator>
				<category><![CDATA[API & technical]]></category>
		<category><![CDATA[virtualisation]]></category>
		<category><![CDATA[virtualization]]></category>

		<guid isPermaLink="false">http://www.mediaburst.co.uk/?p=28251</guid>
		<description><![CDATA[Here at Mediaburst, we don&#8217;t pretend to understand the relationship between man made CO2 and changes in the climate, but we do recognise that wasted energy equals wasted profits and filling cabinets with lots of redundant servers then cooling them is neither environmentally friendly nor cost effective. This financial year we set ourselves a challenge [...]]]></description>
			<content:encoded><![CDATA[<p>Here at Mediaburst, we don&#8217;t pretend to understand the relationship between man made CO<sub>2</sub> and changes in the climate, but we do recognise that wasted energy equals wasted profits and filling cabinets with lots of redundant servers then cooling them is neither environmentally friendly nor cost effective.</p>
<p>This financial year we set ourselves a challenge to reduce our office energy bill by at least 25%.  In terms of electricity, the largest user in the office and the first target was our comprehensive development and test environment of 10 &#8216;old&#8217; servers.<span id="more-28251"></span></p>
<p>But how do you create a development and realistic test environment for a dual site clustered <a href="/textburst">Bulk SMS</a> platform using fewer servers than the production service?  The answer is with two high spec servers and, as you already know, hardware-assisted virtualisation.</p>
<p>To make the fast servers we simply fitted new motherboards, quad core CPUs and fast RAM into two existing chassis&#8217; saving the cost of buying new cases, power supplies and drives.  This left us with 8 redundant servers and a few leftover components.</p>
<h2>Electricity</h2>
<p>The old development and test platforms spanned 10 servers using a total of approximately 1.8kW direct power and air conditioning at an estimated 2kWh continuous consumption costing about £3,662 per annum in electricity and taking up over 24U of rack space.</p>
<p>Our new virtualised platform is 2 servers at approx 500W total, saving 1.4kW or approx £1,350 per annum plus an estimated saving of £964 per annum on air conditioning.</p>
<h2>Space</h2>
<p>Old setup = 10x servers @ 24U<br />
New virtualisations = 2x servers @ 6U<br />
Therefore we&#8217;ve cleared out half a rack of heat and noise <img src='http://www1.mbstatic.co.uk/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<h2>New equipment</h2>
<p>Total £1,200, however we also managed to sell off the old servers on ebay for approx £600, leaving us only £600 out of pocket.</p>
<h2>Licensing</h2>
<p>Thankfully, not an issue as we already have the platform covered and the two host servers are using the free <a href="http://www.vmware.com/products/vsphere-hypervisor/">VMWare vSphere Hypervisor</a>.</p>
<h2>Estimated total savings</h2>
<p>First year £1,714<br />
Second year £2,314</p>
<p>Now, time to go find a more energy efficient kettle!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mediaburst.co.uk/blog/server-virtualisation/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Our SMS API is&#160;100</title>
		<link>http://www.mediaburst.co.uk/blog/our-sms-api-is-100/</link>
		<comments>http://www.mediaburst.co.uk/blog/our-sms-api-is-100/#comments</comments>
		<pubDate>Tue, 15 Jun 2010 08:49:40 +0000</pubDate>
		<dc:creator>Martin</dc:creator>
				<category><![CDATA[API & technical]]></category>
		<category><![CDATA[Behind the scenes]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[sms]]></category>

		<guid isPermaLink="false">http://www.mediaburst.co.uk/?p=26132</guid>
		<description><![CDATA[This week sees the 100th release of our SMS API. Some of these releases added major new features such as MMS, some didn&#8217;t make it past our test servers and others fixed bugs or made everything that little bit faster. What&#8217;s in this release? This milestone release doesn&#8217;t contain any major new features for you, [...]]]></description>
			<content:encoded><![CDATA[<p>This week sees the 100th release of our <a href="/api/">SMS API</a>. Some of these releases added major new features such as MMS, some didn&#8217;t make it past our test servers and others fixed bugs or made everything that little bit faster.<span id="more-26132"></span></p>
<h2>What&#8217;s in this release?</h2>
<p>This milestone release doesn&#8217;t contain any major new features for you, our users, it&#8217;s all about making our lives easier at mediaburst and allowing for future changes.</p>
<h3>We&#8217;ve changed to .NET 4</h3>
<p>Microsoft released version 4 of their .NET framework a couple of months ago, along with it came Visual Studio 2010. Although there are no groundbreaking changes in this new Visual Studio it solves various day to day niggles.</p>
<h3>Code rewriting</h3>
<p>We&#8217;ve re-written some internal code that passes messages around between systems. It&#8217;s just housekeeping really, making use of the improvements between versions 2 and 4 of the .NET framework. The biggest change is the switch from ArrayLists of messages to strongly typed Lists using the new support of <a href="http://blogs.msdn.com/b/csharpfaq/archive/2010/02/16/covariance-and-contravariance-faq.aspx">covariance and contravariance</a> in generic types. This change allows the compiler to check what we&#8217;re adding to the list at compile time, rather than run time, hopefully avoiding any mistakes.</p>
<h3>No more image messages</h3>
<p>We&#8217;ve removed support for Nokia and EMS image messages. They&#8217;re small black and white bitmaps which look awful on modern phones, a much better choice, with wider handset support, is MMS. Processing these took large chunks of bespoke code, without them our sending scripts are so much easier to maintain as there&#8217;s only one set of logic.</p>
<h3>Updated logging</h3>
<p>And finally we&#8217;ve tweaked our sent message logging to make a number of internal reports run off a single database table. We currently have to link two databases on different servers if we want the same level of detail.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mediaburst.co.uk/blog/our-sms-api-is-100/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nagios&#160;SMS Alerts</title>
		<link>http://www.mediaburst.co.uk/blog/nagios-sms-alerts/</link>
		<comments>http://www.mediaburst.co.uk/blog/nagios-sms-alerts/#comments</comments>
		<pubDate>Tue, 18 May 2010 09:38:15 +0000</pubDate>
		<dc:creator>Gary</dc:creator>
				<category><![CDATA[API & technical]]></category>
		<category><![CDATA[Behind the scenes]]></category>

		<guid isPermaLink="false">http://www.mediaburst.co.uk/?p=24421</guid>
		<description><![CDATA[For the IT teams and developers out there that use infrastructure monitoring software you’ll be pleased to hear we’ve released an SMS plug-in for Nagios. Very simply, the plug-in provides a gateway so you can receive Nagios SMS alerts and notification. It uses the Nagios pager confirmation to send SMS through our HTTP Gateway. You [...]]]></description>
			<content:encoded><![CDATA[<p>For the IT teams and developers out there that use infrastructure monitoring software you’ll be pleased to hear we’ve released an SMS plug-in for <a href="http://www.nagios.org/">Nagios</a>.</p>
<p>Very simply, the plug-in provides a gateway so you can receive Nagios SMS alerts and notification.</p>
<p>It uses the Nagios pager confirmation to send SMS through our <a href="/api/sending-a-message/interfaces/http/">HTTP Gateway</a>.</p>
<p>You can see more details on <a href="https://www.monitoringexchange.org/inventory/Utilities/AddOn-Projects/Notifications/SMS-Notify---Mediaburst">Nagios&#8217;s site</a> and we should appear on the Nagios official plugins directory pretty soon.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mediaburst.co.uk/blog/nagios-sms-alerts/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Speeding&#160;up textburst</title>
		<link>http://www.mediaburst.co.uk/blog/speeding-up-textburst/</link>
		<comments>http://www.mediaburst.co.uk/blog/speeding-up-textburst/#comments</comments>
		<pubDate>Thu, 06 May 2010 12:48:52 +0000</pubDate>
		<dc:creator>Martin</dc:creator>
				<category><![CDATA[API & technical]]></category>
		<category><![CDATA[Industry news]]></category>
		<category><![CDATA[Textburst]]></category>

		<guid isPermaLink="false">http://www.mediaburst.co.uk/?p=21091</guid>
		<description><![CDATA[Here&#8217;s a post about the latest updates we&#8217;ve released to our online SMS products including textburst and O2 Online Text.   These updates were primarily focussed on making everything work faster. Big sends, instant response. Rather than making you wait around while we process large bulk SMS sends, the send page now responds instantly.  We now process the send [...]]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s a post about the latest updates we&#8217;ve released to our <a href="http://www.mediaburst.co.uk/textburst/">online SMS</a> products including textburst and O2 Online Text.   These updates were primarily focussed on making everything work faster.<span id="more-21091"></span></p>
<h2>Big sends, instant response.</h2>
<p>Rather than making you wait around while we process large bulk SMS sends, the send page now responds instantly. </p>
<p>We now process the send in the background. It means you can keep working while the send processes.</p>
<h2>Manage scheduled messages</h2>
<p>In the past if you wanted to cancel scheduled message you had to call us and we&#8217;d do it for you. </p>
<p>You&#8217;ll now find a list of all scheduled messages within the application and can cancel them up to a few minutes before they&#8217;re sent.</p>
<h2>Up to date groups</h2>
<p>If you schedule a message to a group we&#8217;ll now pick up the list of group members at the time of send rather than schedule.</p>
<p>This means you can continue to manage your groups and the send will be up to date with your latest contact list.</p>
<p>Additionally, to make this change work we now deduct message credit when we process the send.</p>
<h2>Faster uploads</h2>
<p>We&#8217;ve made a few behind the scenes tweaks to how uploads are processed.  In our tests an upload of 50,000 contacts now completes 10 times quicker than before.</p>
<h2>Bigger uploads, bigger sends</h2>
<p>There used to be a limit of 10,000 people in a single upload or send. </p>
<p>With the speed improvements above we&#8217;ve removed this limit and so far have tested with groups of 100,000 contacts with no speed issues what so ever.</p>
<h2>Summary</h2>
<p>So there you have it hopefully you&#8217;ll enjoy the benefits, but as always contact us if there  is something we can improve.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mediaburst.co.uk/blog/speeding-up-textburst/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Further&#160;network upgrades</title>
		<link>http://www.mediaburst.co.uk/blog/feb-network-upgrades/</link>
		<comments>http://www.mediaburst.co.uk/blog/feb-network-upgrades/#comments</comments>
		<pubDate>Mon, 15 Feb 2010 08:44:03 +0000</pubDate>
		<dc:creator>Martin</dc:creator>
				<category><![CDATA[API & technical]]></category>
		<category><![CDATA[Behind the scenes]]></category>
		<category><![CDATA[data centre]]></category>

		<guid isPermaLink="false">http://www.mediaburst.co.uk/?p=16901</guid>
		<description><![CDATA[On Tuesday 16th February we’re going to install new firewalls in our Manchester data centre.   While we do the work we&#8217;ll be operating all services through our Derby site and turn off Manchester. This work follows on from our network upgrades in Derby last week and will bring our network fully up-to-date.We’ll be starting mid morning [...]]]></description>
			<content:encoded><![CDATA[<p>On Tuesday 16th February we’re going to install new firewalls in our Manchester data centre.   While we do the work we&#8217;ll be operating all services through our Derby site and turn off Manchester.</p>
<p>This work follows on from our network upgrades in Derby <a title="Derby Network Upgrades" href="http://www.mediaburst.co.uk/blog/jan-network-upgrades/" target="_self">last week</a> and will bring our network fully up-to-date.<span id="more-16901"></span>We’ll be starting mid morning (around 10) and should be finished by early afternoon.</p>
<h2>What we’re doing</h2>
<p>We’re upgrading our remaining Cisco PIX firewalls to shiny new Cisco ASAs.</p>
<p>We&#8217;re setting up a backup link between our sites to keep your data safe.</p>
<p>And finally we’ll upgrade our Manchester backup database servers to make sure  they can always keep up with the load.</p>
<h2>Technical details</h2>
<p>Our Manchester site is on the 217.20.43.96/27 network (217.20.43.96 through to 217.20.43.127), whilst we do the work you won&#8217;t be able to reach any servers running on these addresses.   Our Derby site will be up and working fine on the 89.248.48.192/27 network (IP addresses  89.248.48.192 to  89.248.48.223).</p>
<p>This afternoon we’ll take the Manchester servers out of service by removing the DNS records, we’ll then change  them back once everything is tested and finished.</p>
<p>If you login to any of our products you can see which site you’re  currently using, our Manchester servers always have a number 3 near the start  such as textburst3.mediaburst.co.uk, Derby uses a 3 instead.</p>
<p>If you have any questions give us a call on 0845 050 0000 or <a title="Email Mediaburst" href="mailto:hello@mediaburst.co.uk">drop us an  email</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mediaburst.co.uk/blog/feb-network-upgrades/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Network upgrades</title>
		<link>http://www.mediaburst.co.uk/blog/jan-network-upgrades/</link>
		<comments>http://www.mediaburst.co.uk/blog/jan-network-upgrades/#comments</comments>
		<pubDate>Fri, 05 Feb 2010 15:23:33 +0000</pubDate>
		<dc:creator>Martin</dc:creator>
				<category><![CDATA[API & technical]]></category>
		<category><![CDATA[Behind the scenes]]></category>
		<category><![CDATA[data centre]]></category>

		<guid isPermaLink="false">http://www.mediaburst.co.uk/?p=15861</guid>
		<description><![CDATA[On Tuesday 9th February we&#8217;re going to install new firewalls in our Derby data centre. For a short period of time we will turn off Derby and operate all services through our Manchester site. While Derby is turned off  we&#8217;ll also be upgrading our network and servers to make sure we offer you the best service possible. We&#8217;ll be starting mid morning (around 10) [...]]]></description>
			<content:encoded><![CDATA[<p>On Tuesday 9th February we&#8217;re going to install new firewalls in our Derby data centre. For a short period of time we will turn off Derby and operate all services through our Manchester site.</p>
<p>While Derby is turned off  we&#8217;ll also be upgrading our network and servers to make sure we offer you the best service possible.</p>
<p><span id="more-15861"></span> We&#8217;ll be starting mid morning (around 10) and should be finished by mid afternoon.</p>
<h2>What we&#8217;re doing</h2>
<p>We&#8217;re upgrading our Cisco PIX firewalls to shiny new Cisco ASAs, they&#8217;re considerably more powerful and should make our life much easier.</p>
<p>We&#8217;ll also install new servers for our mobile marketing services, the old ones currently work fine but we don&#8217;t want to take any chances.</p>
<p>And finally we&#8217;ll upgrade our backup database servers to make sure they can always keep up with the load.</p>
<h2>Technical details</h2>
<p>Our Derby site is on the 89.248.48.192/27 network (IP addresses 89.248.48.192 through to 89.248.48.223), you won&#8217;t be able to reach any servers running on these addresses while we do the work.  Our Manchester site is on 217.20.43.96/27 (217.20.43.96 through to 217.20.43.127) these addresses will all work fine.</p>
<p>On Monday afternoon we&#8217;ll take the Derby servers out of our DNS so that our service addresses only point to Manchester, we&#8217;ll then change them back once everything is tested and finished.</p>
<p>If you login to any of our products you can see which site you&#8217;re currently using, our Derby servers always have a number 5 near the start such as textburst5.mediaburst.co.uk, Manchester uses a 3 instead.</p>
<p>If you have any questions give us a call on 0845 050 0000 or <a title="Email Mediaburst" href="mailto:hello@mediaburst.co.uk">drop us an email</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mediaburst.co.uk/blog/jan-network-upgrades/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Concatenated&#160;SMS</title>
		<link>http://www.mediaburst.co.uk/blog/concatenated-sms/</link>
		<comments>http://www.mediaburst.co.uk/blog/concatenated-sms/#comments</comments>
		<pubDate>Tue, 15 Dec 2009 09:47:42 +0000</pubDate>
		<dc:creator>John</dc:creator>
				<category><![CDATA[API & technical]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[sms]]></category>

		<guid isPermaLink="false">http://www.mediaburst.co.uk/?p=1571</guid>
		<description><![CDATA[As a standard SMS can only contain 160 7-bit GSM characters, Concatenated SMS are used to send long SMS. Concatenation allows a sender to send more than one SMS which then get stuck together automatically by the phone to appear as one message. For sending messages, our SMS API will automatically take care of the [...]]]></description>
			<content:encoded><![CDATA[<p>As a standard SMS can only contain 160 7-bit <a title="The GSM Character Set" href="/blog/the-gsm-character-set/">GSM characters</a>, Concatenated SMS are used to send long SMS. Concatenation allows a sender to send more than one SMS which then get stuck together automatically by the phone to appear as one message.<br />
<span id="more-1571"></span></p>
<p>For sending messages, our <a href="/api">SMS API</a> will automatically take care of the settings need to do this as long as the ‘<a title="Concat Parameter" href="/api/sending-a-message/parameters/#param-concat">Concat</a>’ parameter is set when sending the message. The Concat parameter can take the value of 1, 2 or 3, and indicates how many SMS you are willing to use to attempt to send a message.</p>
<p>However, if you have messages which are sent from phones to your application (<a title="MO Messages" href="/api/receiving-a-message/">MO Messages</a>), an understanding of how concatenation works can be useful if users are likely to send messages over 160 characters.</p>
<h2>User Data Header (UDH)</h2>
<p>The SMS that make up a concatenated SMS are related together by using the User Data Header (UDH) of an SMS. The UDH is a collection of bytes which can be put at the start of the SMS content. It can be used to control what happens to the rest of the content. For instance, it was used to send the older style of Nokia picture messages.</p>
<p>To indicate that the content contains a UDH, a flag on the SMS called the UDH Indicator (UDHI) must be turned on. This tells the phone that it must separate the UDH from the rest of the content.</p>
<p style="text-align: center;">
<div id="attachment_1573" class="wp-caption aligncenter" style="width: 486px"><a href="http://www1.mbstatic.co.uk/wp-content/uploads/2009/12/UDH.png"><img class="size-full wp-image-1573 " title="UDH" src="http://www1.mbstatic.co.uk/wp-content/uploads/2009/12/UDH.png" alt="Format of an SMS with a UDH" width="476" height="263" /></a><p class="wp-caption-text">Format of an SMS with a UDH</p></div>
<p>The phone separates the UDH by reading the first byte of the content. The number in this byte is the length of the rest of UDH and is called the User Data Header Length (UDHL). The phone then knows how many bytes make up the UDH and can separate it from the rest of the message.</p>
<p>As already stated, a UDH can control various things and so can contain various commands. These commands are called Information Elements (IE’s). These IE’s always take the following format: an Identity Element Identifier (IEI) followed by the Length of the IE Data (IEDL) followed by the IE Data (IED). A UDH can contain 1 or more of these IE’s.</p>
<h2>UDH’s for Concatenated SMS</h2>
<p>For concatenated messages the IE’s that we are interested in are the ones with Identifiers (IEI) of 00 or 08. These indicate that the rest of the message is a concatenated message.</p>
<p>Let’s take an example of using the 00 Information Element Identifier.</p>
<p>The 00 IEI always has an IEDL of 03. That is, there are 3 bytes in the IE Data section.</p>
<p>The first byte is a reference number. This reference number must be the same for all SMS that make up a particular concatenated message.</p>
<p>The second byte is the total number of SMS that go to make up the concatenated message.</p>
<p>The third byte is the part number that this particular SMS is.</p>
<p>So if we have a message that is split across two SMS the bytes in the SMS may be:</p>
<pre class="brush: plain; title: ; notranslate">
First SMS: 05 00 03 A6 02 01 .. bytes that make up the first part text ..
Second SMS: 05 00 03 A6 02 02 .. bytes that make up the second part text ..</pre>
<table class="default" border="0">
<thead>
<tr>
<th>Bytes</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>05</td>
<td>The UDHL, or length of the UDH. So the following five bytes are UDH</td>
</tr>
<tr>
<td>00</td>
<td>This is the IEI. This identifier says this is a concatenated message</td>
</tr>
<tr>
<td>03</td>
<td>This is the IEDL. It says that next 3 bytes are the data for this IE.</td>
</tr>
<tr>
<td>A6</td>
<td>The reference number of this concatenated message. Each part must have the same reference number.</td>
</tr>
<tr>
<td>02</td>
<td>There are two parts to this concatenated message.</td>
</tr>
<tr>
<td>01 or 02</td>
<td>This indicates whether the SMS is the first or second part.</td>
</tr>
</tbody>
</table>
<p style="text-align: center;">
<p style="text-align: center;">The 08 identifier works the same way as the 00, but instead of a 1 byte reference number, it uses a 2 byte (16 bit) reference number. Therefore its IEDL is 04, there are 4 bytes in the IE Data section. These are as follows:</p>
<p>The first and second bytes make up the 16-bit reference number.</p>
<p>The third byte is the total number of SMS that go to make up the concatenated message.</p>
<p>The forth byte is the part number that this particular SMS is.</p>
<p>So another two SMS examples could be:</p>
<pre class="brush: plain; title: ; notranslate">
First SMS: 06 08 04 F4 2E 02 01 .. bytes that make up the first part text ..
Second SMS: 06 08 04 F4 2E 02 02 .. bytes that make up the second part text ..
</pre>
<table class="default" border="0">
<thead>
<tr>
<th>Bytes</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>06</td>
<td>The UDHL, or length of the UDH. So the following six bytes are UDH</td>
</tr>
<tr>
<td>08</td>
<td>This is the IEI. This identifier says this is a concatenated message with 16-bit reference</td>
</tr>
<tr>
<td>04</td>
<td>This is the IEDL. It says that next 4 bytes are the data for this IE.</td>
</tr>
<tr>
<td>F42E</td>
<td>The reference number of this concatenated message. Each part must have the same reference number.</td>
</tr>
<tr>
<td>02</td>
<td>There are two parts to this concatenated message.</td>
</tr>
<tr>
<td>01 or 02</td>
<td>This indicates whether the SMS is the first or second part.</td>
</tr>
</tbody>
</table>
<p style="text-align: center;">
<p style="text-align: center;">
<h2>The API</h2>
<p>As mentioned at the start of this article, our API will take care of all of this for sending messages. All you do is set the ‘Concat’ field to maximum SMS that you are willing to use to send a message.</p>
<p>For receiving messages, our API will forward through the individual SMS that make up a concatenated message. The UDH is already removed from the content and is present in the <a title="UDH Parameter" href="/api/receiving-a-message/parameters/#udh">UDH</a> parameter as the hex encoded bytes. The rest of the content is placed into the <a title="Payload Parameter" href="/api/receiving-a-message/parameters/#payload">Payload</a> parameter.</p>
<p>For most single SMS, a UDH parameter will not be present and so the parameter will be blank. But for concatenated SMS, the receiving script can check the UDH for the 00 or 08 IEI’s to allow it to piece together the original message.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mediaburst.co.uk/blog/concatenated-sms/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>The SMS API is&#160;now online</title>
		<link>http://www.mediaburst.co.uk/blog/the-sms-api-is-now-online/</link>
		<comments>http://www.mediaburst.co.uk/blog/the-sms-api-is-now-online/#comments</comments>
		<pubDate>Fri, 11 Dec 2009 08:42:56 +0000</pubDate>
		<dc:creator>Gary</dc:creator>
				<category><![CDATA[API & technical]]></category>
		<category><![CDATA[Industry news]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[sms]]></category>

		<guid isPermaLink="false">http://www.mediaburst.co.uk/?p=1515</guid>
		<description><![CDATA[Just a quick note to all our customers that the SMS API document is now online. Gone are the days of huge pdf files and big print runs. The Online version is well structured so you can easily find the sections you need. If you need something specific then there is also a handy search [...]]]></description>
			<content:encoded><![CDATA[<p>Just a quick note to all our customers that the <a href="/api/">SMS API</a> document is now online.</p>
<p>Gone are the days of huge pdf files and big print runs. The Online version is well structured so you can easily find the sections you need. If you need something specific then there is also a handy search facility.</p>
<p>To make life easy there is a large bank of example code covering all the different integration protocols.</p>
<p>Additionally, the online guide covers both SMS and MMS.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mediaburst.co.uk/blog/the-sms-api-is-now-online/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Textburst development update</title>
		<link>http://www.mediaburst.co.uk/blog/textburst-development-update/</link>
		<comments>http://www.mediaburst.co.uk/blog/textburst-development-update/#comments</comments>
		<pubDate>Mon, 30 Nov 2009 10:51:13 +0000</pubDate>
		<dc:creator>Gary</dc:creator>
				<category><![CDATA[API & technical]]></category>
		<category><![CDATA[Behind the scenes]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[Textburst]]></category>
		<category><![CDATA[usability]]></category>

		<guid isPermaLink="false">http://www.mediaburst.co.uk/blog/?p=3941</guid>
		<description><![CDATA[With the tech team buried in code redeveloping our online SMS product, Textburst, I thought it worth highlighting some of the usability improvements in the mill. Upload Contacts Our largest source of customer queries surrounds uploading bulk SMS contacts. This is in part because the current page is not exactly what you&#8217;d call intuitive. (click [...]]]></description>
			<content:encoded><![CDATA[<p>With the tech team buried in code redeveloping our <a href="http://www.mediaburst.co.uk/textburst/">online SMS</a> product, Textburst, I thought it worth highlighting some of the usability improvements in the mill.<br />
<span id="more-970"></span></p>
<h2>Upload Contacts</h2>
<p><a href="/wp-content/uploads/2009/11/currentupload.jpg"><img class="alignright size-full wp-image-4241" src="/wp-content/uploads/2009/11/currentuploadsnipet3.jpg" alt="currentuploadsnipet" width="186" height="145" /></a></p>
<p>Our largest source of customer queries surrounds uploading bulk SMS contacts. This is in part because the current page is not exactly what you&#8217;d call intuitive. <span><em>(click the image)</em></span></p>
<p>The sheer length of the page scares users. The instructions are at the top, perhaps logical, but most users forget the latter steps by the time they have completed the first stages. The &#8220;select fields&#8221; and &#8220;groups&#8221; sections in particular are confusing.</p>
<p><a href="/wp-content/uploads/2009/11/upload-contacts1.jpg"><img class="alignleft size-full wp-image-4271" src="/wp-content/uploads/2009/11/uploadcontactssnipet.jpg" alt="uploadcontactssnipet" width="187" height="144" /></a>We’ve made a few tweaks and come up with this draft which we believe will make the process much smother.</p>
<p>You’ll notice the page is now much shorter with clear instructional copy to guide you through the process.</p>
<p>To de-clutter the page we&#8217;ve removed the instructions of how to convert excel to CSV. These is no reason to force you to read these instructions, we&#8217;ll include a link to a popup window so you can choose.</p>
<p>We’ve also introduced a preview sample of the uploaded data for you to confirm before committing. And, importantly, you&#8217;ll now be able to continue working in Textburst, sending and receiving SMS, while the upload is processing. The actual upload will process in the background, no more waiting for the screen to refresh.</p>
<p>A much improved process, I hope you agree?</p>
<h3>Timeout Settings</h3>
<p>We currently time out a session on 20 minutes of inactivity.</p>
<p>On this point we&#8217;ve listened to you, we&#8217;ve heard your requests, we know you don&#8217;t like this, so we&#8217;ve transferred power back to you:</p>
<p>You log in</p>
<p>You stay in</p>
<p>You log out.</p>
<h2>Improving the &#8220;To&#8221; Field</h2>
<p>As web technology improves it&#8217;s important to include those developments which add to the usability of our products. To make the send message page more fluid the inclusion of a clever bit of coding will certainly help in the &#8220;to&#8221; field.</p>
<p>I&#8217;ve struggled to describe this in a non techy manner but I think this series of images speak for themselves.</p>
<p>On the send an SMS message page, you have the &#8220;To&#8221; box that you can type numbers, names, or groups into:</p>
<p><a href="/wp-content/uploads/2009/11/send11.jpg"><img class="aligncenter size-full wp-image-4751" src="/wp-content/uploads/2009/11/send11.jpg" alt="send1" width="563" height="184" /></a></p>
<p>As soon as you click in the box a menu appears:</p>
<p><a href="/wp-content/uploads/2009/11/send21.jpg"><img class="aligncenter size-full wp-image-4761" src="/wp-content/uploads/2009/11/send21.jpg" alt="send2" width="563" height="183" /></a></p>
<p>Start typing and the Ajax functionality will automatically find relevant SMS contacts and groups, simply click the contact or group you were looking for.</p>
<p><a href="/wp-content/uploads/2009/11/send31.jpg"><img class="aligncenter size-full wp-image-4771" src="/wp-content/uploads/2009/11/send31.jpg" alt="send3" width="740" height="557" /></a></p>
<h3>Personalise</h3>
<p>Finally, you may have noticed the addition of &#8220;Personalise&#8221; in the image above.</p>
<p>The current version of merging fields in a text message is cumbersome and hence frequently overlooked.</p>
<p>Recipients of SMS messages will undoubtedly respond better to a personalised message and hence why we have drawn more attention to this functionality.</p>
<p>As you are typing a message, use your mouse to click the relevant field to insert into the message.</p>
<p>Simple, effective, and helping you improve communication.</p>
<h2>Until January</h2>
<p>Hopefully you&#8217;ll see your feedback is being taken into consideration and an improved product is just around the corner, scheduled for release early January.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mediaburst.co.uk/blog/textburst-development-update/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>The GSM character&#160;set</title>
		<link>http://www.mediaburst.co.uk/blog/the-gsm-character-set/</link>
		<comments>http://www.mediaburst.co.uk/blog/the-gsm-character-set/#comments</comments>
		<pubDate>Mon, 23 Nov 2009 11:08:41 +0000</pubDate>
		<dc:creator>John</dc:creator>
				<category><![CDATA[API & technical]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[gsm]]></category>
		<category><![CDATA[sms]]></category>

		<guid isPermaLink="false">http://www.mediaburst.co.uk/tech/?p=331</guid>
		<description><![CDATA[One of the issues that we continually see appearing is the question of which characters can be sent in a text message. What follows is a brief description of the format of a text message The UK mobile networks all use the GSM standard, and as such, a standard text message is limited to the [...]]]></description>
			<content:encoded><![CDATA[<p>One of the issues that we continually see appearing is the question of which characters can be sent in a text message. What follows is a brief description of the format of a text message<br />
<span id="more-511"></span></p>
<p>The UK mobile networks all use the <a href="http://en.wikipedia.org/wiki/GSM">GSM standard</a>, and as such, a standard text message is limited to the GSM character set.</p>
<p>An SMS can contain up to 140 bytes. The GSM character set is encoded using 7-bits, rather than the usual 8-bits that make a byte. This means there can be 160 characters in an SMS.</p>
<p>This 7-bit limitation means only 128 standard characters can be encoded. The GSM standard gets round this by also having the Extended GSM character set. These are another 10 characters which are actually sent by sending two 7-bit characters, an escape (ESC) character followed by another character. This means that 160 &#8216;£&#8217; symbols can fit in a single SMS, but only 80 &#8216;{&#8216; symbols.</p>
<p>If you need to send other characters than those in the GSM character set, then take a look at UCS-2 messaging which allows sending most <a href="http://www.unicode.org/standard/standard.html">unicode characters</a>, but as each of these takes 2 bytes it means only 70 characters can be sent per SMS.</p>
<p>So our customers don&#8217;t need to bother converting characters into the GSM encoding or escaping the extended characters, our <a href="/api">SMS API</a> accepts messages in <a href="http://en.wikipedia.org/wiki/Utf-8">UTF-8 encoding</a>.</p>
<p><em><span style="color: #808080;">Update: Since posting this we&#8217;ve released an article on</span> <a href="/blog/the-gsm-character-set-in-net/">how to do GSM character encoding in .NET</a></em></p>
<p>The tables below show a full list of the GSM characters, standard and extended. They also show the equivalent UTF-8 encoding need to send into our API.</p>
<h2>Standard GSM Characters</h2>
<table class="default">
<thead>
<tr>
<th>GSM</th>
<th>UTF-8</th>
<th>Char</th>
</tr>
</thead>
<tbody>
<tr>
<td>00</td>
<td>40</td>
<td>@</td>
</tr>
<tr>
<td>01</td>
<td>C2,A3</td>
<td>£</td>
</tr>
<tr>
<td>02</td>
<td>24</td>
<td>$</td>
</tr>
<tr>
<td>03</td>
<td>C2,A5</td>
<td>¥</td>
</tr>
<tr>
<td>04</td>
<td>C3,A8</td>
<td>è</td>
</tr>
<tr>
<td>05</td>
<td>C3,A9</td>
<td>é</td>
</tr>
<tr>
<td>06</td>
<td>C3,B9</td>
<td>ù</td>
</tr>
<tr>
<td>07</td>
<td>C3,AC</td>
<td>ì</td>
</tr>
<tr>
<td>08</td>
<td>C3,B2</td>
<td>ò</td>
</tr>
<tr>
<td>09</td>
<td>C3,87</td>
<td>Ç</td>
</tr>
<tr>
<td>0A</td>
<td>0A</td>
<td>&lt;LF&gt;</td>
</tr>
<tr>
<td>0B</td>
<td>C3,98</td>
<td>Ø</td>
</tr>
<tr>
<td>0C</td>
<td>C3,B8</td>
<td>ø</td>
</tr>
<tr>
<td>0D</td>
<td>0D</td>
<td>&lt;CR&gt;</td>
</tr>
<tr>
<td>0E</td>
<td>C3,85</td>
<td>Å</td>
</tr>
<tr>
<td>0F</td>
<td>C3,A5</td>
<td>å</td>
</tr>
<tr>
<td>10</td>
<td>CE,94</td>
<td>∆</td>
</tr>
<tr>
<td>11</td>
<td>5F</td>
<td>_</td>
</tr>
<tr>
<td>12</td>
<td>CE,A6</td>
<td>Φ</td>
</tr>
<tr>
<td>13</td>
<td>CE,93</td>
<td>Γ</td>
</tr>
<tr>
<td>14</td>
<td>CE,9B</td>
<td>Λ</td>
</tr>
<tr>
<td>15</td>
<td>CE,A9</td>
<td>Ω</td>
</tr>
<tr>
<td>16</td>
<td>CE,A0</td>
<td>Π</td>
</tr>
<tr>
<td>17</td>
<td>CE,A8</td>
<td>Ψ</td>
</tr>
<tr>
<td>18</td>
<td>CE,A3</td>
<td>Σ</td>
</tr>
<tr>
<td>19</td>
<td>CE,98</td>
<td>Θ</td>
</tr>
<tr>
<td>1A</td>
<td>CE,9E</td>
<td>Ξ</td>
</tr>
<tr>
<td>1B</td>
<td>1B</td>
<td>&lt;ESC&gt;</td>
</tr>
<tr>
<td>1C</td>
<td>C3,86</td>
<td>Æ</td>
</tr>
<tr>
<td>1D</td>
<td>C3,A6</td>
<td>æ</td>
</tr>
<tr>
<td>1E</td>
<td>C3,9F</td>
<td>ß</td>
</tr>
<tr>
<td>1F</td>
<td>C3,89</td>
<td>É</td>
</tr>
</tbody>
</table>
<table class="default">
<thead>
<tr>
<th>GSM</th>
<th>UTF-8</th>
<th>Char</th>
</tr>
</thead>
<tbody>
<tr>
<td>20</td>
<td>20</td>
<td>&lt;SP&gt;</td>
</tr>
<tr>
<td>21</td>
<td>21</td>
<td>!</td>
</tr>
<tr>
<td>22</td>
<td>22</td>
<td>“</td>
</tr>
<tr>
<td>23</td>
<td>23</td>
<td>#</td>
</tr>
<tr>
<td>24</td>
<td>C2,A4</td>
<td>¤</td>
</tr>
<tr>
<td>25</td>
<td>25</td>
<td>%</td>
</tr>
<tr>
<td>26</td>
<td>26</td>
<td>&amp;</td>
</tr>
<tr>
<td>27</td>
<td>27</td>
<td>‘</td>
</tr>
<tr>
<td>28</td>
<td>28</td>
<td>(</td>
</tr>
<tr>
<td>29</td>
<td>29</td>
<td>)</td>
</tr>
<tr>
<td>2A</td>
<td>2A</td>
<td>*</td>
</tr>
<tr>
<td>2B</td>
<td>2B</td>
<td>+</td>
</tr>
<tr>
<td>2C</td>
<td>2C</td>
<td>,</td>
</tr>
<tr>
<td>2D</td>
<td>2D</td>
<td>-</td>
</tr>
<tr>
<td>2E</td>
<td>2E</td>
<td>.</td>
</tr>
<tr>
<td>2F</td>
<td>2F</td>
<td>/</td>
</tr>
<tr>
<td>30</td>
<td>30</td>
<td>0</td>
</tr>
<tr>
<td>31</td>
<td>31</td>
<td>1</td>
</tr>
<tr>
<td>32</td>
<td>32</td>
<td>2</td>
</tr>
<tr>
<td>33</td>
<td>33</td>
<td>3</td>
</tr>
<tr>
<td>34</td>
<td>34</td>
<td>4</td>
</tr>
<tr>
<td>35</td>
<td>35</td>
<td>5</td>
</tr>
<tr>
<td>36</td>
<td>36</td>
<td>6</td>
</tr>
<tr>
<td>37</td>
<td>37</td>
<td>7</td>
</tr>
<tr>
<td>38</td>
<td>38</td>
<td>8</td>
</tr>
<tr>
<td>39</td>
<td>39</td>
<td>9</td>
</tr>
<tr>
<td>3A</td>
<td>3A</td>
<td>:</td>
</tr>
<tr>
<td>3B</td>
<td>3B</td>
<td>;</td>
</tr>
<tr>
<td>3C</td>
<td>3C</td>
<td>&lt;</td>
</tr>
<tr>
<td>3D</td>
<td>3D</td>
<td>=</td>
</tr>
<tr>
<td>3E</td>
<td>3E</td>
<td>&gt;</td>
</tr>
<tr>
<td>3F</td>
<td>3F</td>
<td>?</td>
</tr>
</tbody>
</table>
<table class="default">
<thead>
<tr>
<th>GSM</th>
<th>UTF-8</th>
<th>Char</th>
</tr>
</thead>
<tbody>
<tr>
<td>40</td>
<td>C2,A1</td>
<td>¡</td>
</tr>
<tr>
<td>41</td>
<td>41</td>
<td>A</td>
</tr>
<tr>
<td>42</td>
<td>42</td>
<td>B</td>
</tr>
<tr>
<td>43</td>
<td>43</td>
<td>C</td>
</tr>
<tr>
<td>44</td>
<td>44</td>
<td>D</td>
</tr>
<tr>
<td>45</td>
<td>45</td>
<td>E</td>
</tr>
<tr>
<td>46</td>
<td>46</td>
<td>F</td>
</tr>
<tr>
<td>47</td>
<td>47</td>
<td>G</td>
</tr>
<tr>
<td>48</td>
<td>48</td>
<td>H</td>
</tr>
<tr>
<td>49</td>
<td>49</td>
<td>I</td>
</tr>
<tr>
<td>4A</td>
<td>4A</td>
<td>J</td>
</tr>
<tr>
<td>4B</td>
<td>4B</td>
<td>K</td>
</tr>
<tr>
<td>4C</td>
<td>4C</td>
<td>L</td>
</tr>
<tr>
<td>4D</td>
<td>4D</td>
<td>M</td>
</tr>
<tr>
<td>4E</td>
<td>4E</td>
<td>N</td>
</tr>
<tr>
<td>4F</td>
<td>4F</td>
<td>O</td>
</tr>
<tr>
<td>50</td>
<td>50</td>
<td>P</td>
</tr>
<tr>
<td>51</td>
<td>51</td>
<td>Q</td>
</tr>
<tr>
<td>52</td>
<td>52</td>
<td>R</td>
</tr>
<tr>
<td>53</td>
<td>53</td>
<td>S</td>
</tr>
<tr>
<td>54</td>
<td>54</td>
<td>T</td>
</tr>
<tr>
<td>55</td>
<td>55</td>
<td>U</td>
</tr>
<tr>
<td>56</td>
<td>56</td>
<td>V</td>
</tr>
<tr>
<td>57</td>
<td>57</td>
<td>W</td>
</tr>
<tr>
<td>58</td>
<td>58</td>
<td>X</td>
</tr>
<tr>
<td>59</td>
<td>59</td>
<td>Y</td>
</tr>
<tr>
<td>5A</td>
<td>5A</td>
<td>Z</td>
</tr>
<tr>
<td>5B</td>
<td>C3,84</td>
<td>Ä</td>
</tr>
<tr>
<td>5C</td>
<td>C3,96</td>
<td>Ö</td>
</tr>
<tr>
<td>5D</td>
<td>C3,91</td>
<td>Ñ</td>
</tr>
<tr>
<td>5E</td>
<td>C3,9C</td>
<td>Ü</td>
</tr>
<tr>
<td>5F</td>
<td>C2,A7</td>
<td>§</td>
</tr>
</tbody>
</table>
<table class="default">
<thead>
<tr>
<th>GSM</th>
<th>UTF-8</th>
<th>Char</th>
</tr>
</thead>
<tbody>
<tr>
<td>60</td>
<td>C2,BF</td>
<td>¿</td>
</tr>
<tr>
<td>61</td>
<td>61</td>
<td>a</td>
</tr>
<tr>
<td>62</td>
<td>62</td>
<td>b</td>
</tr>
<tr>
<td>63</td>
<td>63</td>
<td>c</td>
</tr>
<tr>
<td>64</td>
<td>64</td>
<td>d</td>
</tr>
<tr>
<td>65</td>
<td>65</td>
<td>e</td>
</tr>
<tr>
<td>66</td>
<td>66</td>
<td>f</td>
</tr>
<tr>
<td>67</td>
<td>67</td>
<td>g</td>
</tr>
<tr>
<td>68</td>
<td>68</td>
<td>h</td>
</tr>
<tr>
<td>69</td>
<td>69</td>
<td>i</td>
</tr>
<tr>
<td>6A</td>
<td>6A</td>
<td>j</td>
</tr>
<tr>
<td>6B</td>
<td>6B</td>
<td>k</td>
</tr>
<tr>
<td>6C</td>
<td>6C</td>
<td>l</td>
</tr>
<tr>
<td>6D</td>
<td>6D</td>
<td>m</td>
</tr>
<tr>
<td>6E</td>
<td>6E</td>
<td>n</td>
</tr>
<tr>
<td>6F</td>
<td>6F</td>
<td>o</td>
</tr>
<tr>
<td>70</td>
<td>70</td>
<td>p</td>
</tr>
<tr>
<td>71</td>
<td>71</td>
<td>q</td>
</tr>
<tr>
<td>72</td>
<td>72</td>
<td>r</td>
</tr>
<tr>
<td>73</td>
<td>73</td>
<td>s</td>
</tr>
<tr>
<td>74</td>
<td>74</td>
<td>t</td>
</tr>
<tr>
<td>75</td>
<td>75</td>
<td>u</td>
</tr>
<tr>
<td>76</td>
<td>76</td>
<td>v</td>
</tr>
<tr>
<td>77</td>
<td>77</td>
<td>w</td>
</tr>
<tr>
<td>78</td>
<td>78</td>
<td>x</td>
</tr>
<tr>
<td>79</td>
<td>79</td>
<td>y</td>
</tr>
<tr>
<td>7A</td>
<td>7A</td>
<td>z</td>
</tr>
<tr>
<td>7B</td>
<td>C3,A4</td>
<td>ä</td>
</tr>
<tr>
<td>7C</td>
<td>C3,B6</td>
<td>ö</td>
</tr>
<tr>
<td>7D</td>
<td>C3,B1</td>
<td>ñ</td>
</tr>
<tr>
<td>7E</td>
<td>C3,BC</td>
<td>ü</td>
</tr>
<tr>
<td>7F</td>
<td>C3,A0</td>
<td>à</td>
</tr>
</tbody>
</table>
<h2>Extended GSM Characters</h2>
<p>In an SMS these are prefixed with the escape character (1B) and therefore take up 2 of the 160 characters of an SMS. They do not need escaping when sending into our API.</p>
<table class="default">
<thead>
<tr>
<th>GSM</th>
<th>UTF-8</th>
<th>Char</th>
</tr>
</thead>
<tbody>
<tr>
<td>10</td>
<td>0C</td>
<td>&lt;FF&gt;</td>
</tr>
<tr>
<td>14</td>
<td>5E</td>
<td>^</td>
</tr>
<tr>
<td>28</td>
<td>7B</td>
<td>{</td>
</tr>
<tr>
<td>29</td>
<td>7D</td>
<td>}</td>
</tr>
<tr>
<td>2F</td>
<td>5C</td>
<td>\</td>
</tr>
<tr>
<td>3C</td>
<td>5B</td>
<td>[</td>
</tr>
<tr>
<td>3D</td>
<td>7E</td>
<td>~</td>
</tr>
<tr>
<td>3E</td>
<td>5D</td>
<td>]</td>
</tr>
<tr>
<td>40</td>
<td>7C</td>
<td>|</td>
</tr>
<tr>
<td>65</td>
<td>E2,82,AC</td>
<td>€</td>
</tr>
</tbody>
</table>
]]></content:encoded>
			<wfw:commentRss>http://www.mediaburst.co.uk/blog/the-gsm-character-set/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>How we&#160;test bulk SMS routes</title>
		<link>http://www.mediaburst.co.uk/blog/how-we-test-bulk-sms-routes/</link>
		<comments>http://www.mediaburst.co.uk/blog/how-we-test-bulk-sms-routes/#comments</comments>
		<pubDate>Fri, 20 Nov 2009 17:10:10 +0000</pubDate>
		<dc:creator>Gary</dc:creator>
				<category><![CDATA[API & technical]]></category>
		<category><![CDATA[bulk sms]]></category>
		<category><![CDATA[sms]]></category>
		<category><![CDATA[testing]]></category>

		<guid isPermaLink="false">http://www.mediaburst.co.uk/blog/?p=2981</guid>
		<description><![CDATA[We&#8217;re occasionally asked how we ensure the quality of our SMS routes. The answer can be quite detailed with numerous avenues and procedures at different stages and times. In this blog I&#8217;ll guide you through how we test and validate a new bulk SMS route. But the first question that arises is, &#8220;does the quality [...]]]></description>
			<content:encoded><![CDATA[<p>We&#8217;re occasionally asked how we ensure the quality of our SMS routes. The answer can be quite detailed with numerous avenues and procedures at different stages and times.<br />
<span id="more-960"></span></p>
<p>In this blog I&#8217;ll guide you through how we test and validate a new <a href="/">bulk SMS</a> route.</p>
<p>But the first question that arises is, &#8220;does the quality vary?&#8221;<br />
As you&#8217;ll read below, the answer is a resounding &#8220;yes&#8221;</p>
<p>&hellip;massively.</p>
<h2>Stage 1. One message, One Handset</h2>
<p>The first stage is to send a single message to a single phone, it sounds incredibly daft but if we can&#8217;t do this then we can stop wasting our time or least contact the supplier and get them to sort themselves out.</p>
<p>Can this really go wrong: if the supplier hasn&#8217;t configured the account properly, has provided you with the wrong user name and/ or password, has locked the route to a wrong IP address, or provided you with inaccurate API documentation then yes, it can go wrong.</p>
<h2>Stage 2. Multiple Messages</h2>
<p>Now we send 6 messages, one to a handset on each UK network. They should all arrive at approximately the same time or at least seconds of each other. The message should be the same on all the phones and the header/ originator should be the same.</p>
<p>What can go wrong here: In the past we have seen messages delivered to all but one phone, we have seen SMS headers scrambled on certain networks, characters changed in the SMS message body, and even routes that can&#8217;t deliver to Nokia handsets.</p>
<h2>Stage 3. Character Encoding</h2>
<p>Now it starts to get tricky, we send the complete GSM character set to each of the 6 phones. Some say this isn&#8217;t possible. But that&#8217;s a lie, its depends on which routes they use, which networks you send through. For example, one of Vodafone&#8217;s cheaper routes doesn&#8217;t process the &#8220;|&#8221; (pipe) symbol, but you can route through O2 to a Vodafone handset successfully with this symbol.</p>
<p>So we check through the character set to ensure they come through accurately on each phone, sometimes some Greek symbols and other lesser used characters will be replaced, sometimes the message isn&#8217;t delivered at all, but at worst, the message isn&#8217;t delivered but the supplier returns a delivery receipt saying it was delivered.</p>
<p>This can happen because the supplier or network isn&#8217;t able to process a particular character, they simply fail the message, but systems can get confused and think it was delivered.</p>
<p>If we get a good result on this test then we stop here and wait a week.</p>
<h2>Stage 4. Repetition</h2>
<p>Repeat stages 1 to 3 again. We like to double check things don&#8217;t change.</p>
<h2>Stage 5. Integration</h2>
<p>If all is looking good then we&#8217;ll start the integration process. This means configuring our live platform to send a limited volume of real messages.</p>
<p>We&#8217;ll send a regular stream of messages for a few weeks but monitor very very closely. We look at delivery rates, latency, we&#8217;ll do occasional checks to the in-house test phones.</p>
<p>We&#8217;ll always allow this test to cross over a month end because we need to see a bill for the messages. We need to see our records of messages correlates with theirs. We like to see they are able to raise an invoice promptly and accurately. We want to ensure we can access relevant technically competent staff in a very short time frame, that means they have to answer the phone and emails and resolve any issues quickly. It&#8217;s not just about the messages, we look for solid, reliable, consistent suppliers, and this can only be proved over time.</p>
<h2>Stage 6. We&#8217;re Live!</h2>
<p>Increase the volume of SMS through the route.</p>
<p>But we&#8217;ll only do this if everything above is satisfied to our exacting standards, and even then we continue to monitor on a regular basis. But regular monitoring is a subject for another blog post&hellip;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mediaburst.co.uk/blog/how-we-test-bulk-sms-routes/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Progress&#160;with firewalls</title>
		<link>http://www.mediaburst.co.uk/blog/progress-with-firewalls/</link>
		<comments>http://www.mediaburst.co.uk/blog/progress-with-firewalls/#comments</comments>
		<pubDate>Thu, 22 Oct 2009 13:11:15 +0000</pubDate>
		<dc:creator>Martin</dc:creator>
				<category><![CDATA[API & technical]]></category>
		<category><![CDATA[firewalls]]></category>

		<guid isPermaLink="false">http://www.mediaburst.co.uk/tech/?p=251</guid>
		<description><![CDATA[We&#8217;ve now ordered our new firewalls, we&#8217;ve gone with a pair of Cisco ASA5510s for the data centres and an ASA5505 for our office. We chose the Cisco firewalls for a few reasons I&#8217;ll explain below. Having tried a Juniper SRX for a fortnight we were left with the impression that a few features aren&#8217;t [...]]]></description>
			<content:encoded><![CDATA[<p>We&#8217;ve now ordered our new firewalls, we&#8217;ve gone with a pair of Cisco ASA5510s for the data centres and an ASA5505 for our office.   We chose the Cisco firewalls for a few reasons I&#8217;ll explain below.<br />
<span id="more-510"></span></p>
<p>Having tried a Juniper SRX for a fortnight we were left with the impression that a few features aren&#8217;t quite finished yet.  The routing side, which Juniper are traditionally associated with, was really powerful and easy to use, but for a firewall it seemed to be lacking a few useful features found on the majority of the competition.  These included authenticating VPN users locally if  your Radius server is down and assigning IP addresses without an additional DHCP server.  From talking to a couple of Juniper experts it sounds like these and many other features are coming soon, unfortunately for Juniper we needed them now.</p>
<p>The Juniper SSG range were almost identical to the Cisco products both in features and price, in the end we rejected these because we had major trouble obtaining some competitive quotes.  One major international IT reseller were that frustrating to deal with that we&#8217;ve vowed never to use them again.</p>
<p>One of our core requirements was dynamic VPN access so we can reach our servers when on-call and people can work from home.  Given that Microsoft have just released Windows 7 and that 64bit operating systems are now being pre-installed on laptops it had to work with both of these.   The Juniper VPN client only works on a 32bit OS, we&#8217;d have to purchase some third party software to connect from a 64bit OS, Cisco on the other hand have added full 64bit support to their AnyConnect client.</p>
<p>Our final reason is that Cisco were willing to accept our current PIX firewalls as trade-in.   Of all the reasons we considered this was least important but it became a small factor once we realised the features were essentially the same.  The same international IT supplier strung us along for 3 weeks while trying to sort out this trade-in with Cisco, they then gave up.  Our normal, much smaller, UK supplier had it all sorted in an afternoon and managed a much better price too.</p>
<p>These new firewalls should be with us shortly and I&#8217;ll post an update once we&#8217;re ready to put them live.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mediaburst.co.uk/blog/progress-with-firewalls/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>API delivery receipt&#160;error codes</title>
		<link>http://www.mediaburst.co.uk/blog/api-delivery-receipt-error-codes/</link>
		<comments>http://www.mediaburst.co.uk/blog/api-delivery-receipt-error-codes/#comments</comments>
		<pubDate>Thu, 15 Oct 2009 10:48:48 +0000</pubDate>
		<dc:creator>John</dc:creator>
				<category><![CDATA[API & technical]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[GET]]></category>
		<category><![CDATA[sms]]></category>

		<guid isPermaLink="false">http://www.mediaburst.co.uk/tech/?p=141</guid>
		<description><![CDATA[We have now enabled each of our non-billed SMS routes to support the delivery receipt error codes that were previously only on our premium rate (reverse billed) SMS. When a message delivery fails and the network returns extra information to us regarding the failure, we can now send this information back to you in a [...]]]></description>
			<content:encoded><![CDATA[<p>We have now enabled each of our non-billed SMS routes to support the delivery receipt error codes that were previously only on our premium rate (reverse billed) SMS.<br />
<span id="more-509"></span></p>
<p>When a message delivery fails and the network returns extra information to us regarding the failure, we  can now send this information back to you in a standardised way.</p>
<p>The error code parameter is already defined in section 3.5 of the our API. Please contact us if you want this enabling on your default delivery receipt script. Alternatively, if you set this information when you send a message, you just need to use the ERR_CODE parameter. For instance, if delivery receipts are currently set up to be a GET request using the following parameters:</p>
<pre class="brush: plain; title: ; notranslate">client_id=#CLIENT_ID#&amp;status=#DELIVERY_STATUS#&amp;msg_id=#MSG_ID#</pre>
<p>Then the error code can be also passed by changing this to:</p>
<pre class="brush: plain; title: ; notranslate">client_id=#CLIENT_ID#&amp;status=#DELIVERY_STATUS#&amp;msg_id=#MSG_ID#&amp;err_code=#ERR_CODE#</pre>
<table class="default">
<caption>The possible error codes are as follows:</caption>
<thead>
<tr>
<th scope="col">Error Number</th>
<th scope="col">Description</th>
<th scope="col">Validity</th>
</tr>
</thead>
<tbody>
<tr>
<td>0</td>
<td>No Error</td>
<td></td>
</tr>
<tr>
<td>1</td>
<td>Unknown &#8211; No details provided by network</td>
<td></td>
</tr>
<tr>
<td>2</td>
<td>Message details wrong</td>
<td>Permanent</td>
</tr>
<tr>
<td>3</td>
<td>Operator Error</td>
<td>Permanent</td>
</tr>
<tr>
<td>4</td>
<td>Operator Error</td>
<td>Temporary</td>
</tr>
<tr>
<td>5</td>
<td>Absent Subscriber</td>
<td>Permanent</td>
</tr>
<tr>
<td>6</td>
<td>Absent Subscriber</td>
<td>Temporary</td>
</tr>
<tr>
<td>7</td>
<td>Credit Related</td>
<td>Temporary</td>
</tr>
<tr>
<td>8</td>
<td>Subscriber Bar on Premium Rate content</td>
<td>Permanent</td>
</tr>
<tr>
<td>9</td>
<td>Phone Related Error</td>
<td>Permanent</td>
</tr>
<tr>
<td>10</td>
<td>Phone Related Error</td>
<td>Temporary</td>
</tr>
<tr>
<td>11</td>
<td>Message billed but not be delivered to handset</td>
<td>Permanent</td>
</tr>
</tbody>
</table>
]]></content:encoded>
			<wfw:commentRss>http://www.mediaburst.co.uk/blog/api-delivery-receipt-error-codes/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Creating Perl module&#160;RPMs</title>
		<link>http://www.mediaburst.co.uk/blog/creating-perl-module-rpms/</link>
		<comments>http://www.mediaburst.co.uk/blog/creating-perl-module-rpms/#comments</comments>
		<pubDate>Tue, 22 Sep 2009 13:36:57 +0000</pubDate>
		<dc:creator>Martin</dc:creator>
				<category><![CDATA[API & technical]]></category>
		<category><![CDATA[CentOS]]></category>
		<category><![CDATA[CPAN]]></category>
		<category><![CDATA[Erick Calder]]></category>
		<category><![CDATA[net::SMPP]]></category>
		<category><![CDATA[perl]]></category>
		<category><![CDATA[rpm]]></category>

		<guid isPermaLink="false">http://www.mediaburst.co.uk/tech/?p=115</guid>
		<description><![CDATA[This is a follow on to our post on Perl module config files A large number of our servers run CentOS Linux, and like all Redhat based distributions software is installed through RPM. Unfortunately installing perl modules using CPAN has nasty habit of clashing with the base perl install and causing no end of problems. [...]]]></description>
			<content:encoded><![CDATA[<p>This is a follow on to our post on <a title="Perl Module Config Files post" href="/blog/perl-module-config-files/">Perl module config files</a><br />
<span id="more-506"></span></p>
<p>A large number of our servers run <a title="CentOS Website" href="http://www.centos.org" target="_blank">CentOS</a> Linux, and like all Redhat based distributions software is installed through RPM.  Unfortunately installing perl modules using <a title="CPAN" href="http://www.cpan.org/" target="_blank">CPAN</a> has nasty habit of clashing with the base perl install and causing no end of problems.</p>
<p>To work around this we&#8217;ve taken to installing all perl modules through RPM.   Some modules are easy to find in third party repositories, but our software uses some less common modules such as <code>Net::SMPP</code>.</p>
<p>The best way we&#8217;ve found to convert these elusive perl modules into RPMs is through <a title="cpan2rpm" href="http://perl.arix.com/cpan2rpm/" target="_blank">cpan2rpm </a>by Erick Calder, it&#8217;s also a very convenient way to make our own software available as an RPM.</p>
<p>Creating an RPM from a CPAN perl module is extremely simple, just pass the module name as the only command line parameter, it will download from CPAN and build the RPM.</p>
<pre class="brush: perl; title: ; notranslate">[rpmbuild@dev-linux ~]$cpan2rpm Net::SMPP
...
RPM: /home/rpmbuild/rpm/RPMS/noarch/perl-Net-SMPP-1.03-1.noarch.rpm
SRPM: /home/rpmbuild/rpm/SRPMS/perl-Net-SMPP-1.03-1.src.rpm
-- Done --
[rpmbuild@dev-linux ~]$</pre>
<p>cpan2rpm however does have it&#8217;s limitations so we&#8217;ve added a few extra features to our version.</p>
<h2>RPM Pre install commands</h2>
<p>Commands that need to be run before you install the package, such as creating users.  Defined in Build.PL using rpm_pre or passed on the command line as &#8211;pre=&#8221;my pre-install command&#8221;</p>
<h2>RPM Post install commands</h2>
<p>Commands to run once the package is successfully installed (These don&#8217;t run if it fails). Defined in Build.PL using rpm_post or passed on the command line as <code>--post="my post-install command"</code></p>
<h2>Disable auto-generation of the provides list</h2>
<p>By default rpmbuild will automatically create a list of all packages it provides, on occasion this is wrong, so we added a flag to disable this automatic list creation.  Passed to cpan2rpm on the command line as &#8211;no-auto-prov</p>
<h2>Support for <code>Module::Build</code> dependencies</h2>
<p><code>cpan2rpm</code> couldn&#8217;t wouldn&#8217;t correctly create dependency lists for modules build using <code>Module::Build</code> rather than <code>ExtUtils::MakeMaker</code>, we tweaked the script so these are now listed on the RPM.  These come from the requires section of Build.PL</p>
<h2>Support for the RPM config flag on files</h2>
<p>RPM allows files to be flagged as configuration files within the RPM.  This flag  prevents RPM from overwriting your configuration files when changed by creating the new version as <code>file.rpmnew</code>.  By default we&#8217;ll flag anything from the etc_files section of <code>Build.PL</code></p>
<p>Using John&#8217;s earlier Build.PL example we can add in these extra features so that it creates it&#8217;s own user and then runs a postinstall script once the RPM is installed (this could setup a database or download updated configuration files for example).  These rpm_ tag&#8217;s aren&#8217;t standard Module::Build features but it will ignore unrecognised tags when building.</p>
<pre class="brush: perl; title: ; notranslate">use 5.008005;
use Module::Build;

my $build = Module::Build-&gt;new (
    module_name =&gt; 'ModuleName',
    license  =&gt; 'perl',
    dist_author =&gt; 'A.N. Other &lt;a.n.other@example.com&gt;',
    dist_version_from =&gt; 'lib/ModuleName.pm',
    etc_files =&gt; {
        'etc/logrotate.d/modulename' =&gt; 'etc/logrotate.d/modulename',
        'etc/modulename.conf' =&gt; 'etc/modulename.conf'
    },
    install_path =&gt; { 'etc' =&gt; '/etc', 'script' =&gt; '/usr/local/bin/modulename' },
    rpm_pre =&gt; 'if ! id module_user &gt; /dev/null 2&gt;&amp;1 ; then useradd -r -c &quot;Module User&quot; -s /sbin/nologin -d /usr/local/bin/modulename module_user; fi;'
    rpm_post =&gt; '/usr/local/bin/modulename/postinstall_script'
);
$build-&gt;add_build_element('etc');
$build-&gt;create_build_script;</pre>
<p>If you use cpan2rpm regularly I&#8217;d recommend creating a <code>.rpmmacros</code> file in your home directory to save you having to pass a few of the options.  This also allows you to enable the optional GPG signing of packages.  My <code>.rpmmacros</code> file is:</p>
<pre class="brush: perl; title: ; notranslate">
%_topdir /home/rpmbuild/rpm
%packager Mediaburst Ltd &lt;rpmbuild@mediaburst.co.uk&gt;
%_signature gpg
%_gpgbin /usr/bin/gpg
%_gpg_path /home/rpmbuild/.gnupg
%_gpg_name my_key_name
</pre>
<p>If you plan to use cpan2rpm with standard Perl modules from CPAN I recommend you download it directly from the authors site, however I&#8217;m also making available our updated version in case you want to use any of these update features.</p>
<ul>
<li><a title="cpan2rpm official site" href="http://perl.arix.com/cpan2rpm/" target="_blank">Official cpan2rpm release</a></li>
<li><a title="Mediaburst updated cpan2rpm" href="http://www2.mbstatic.co.uk/wp-content/uploads/2009/09/cpan2rpmmb" target="_blank">Mediaburst cpan2rpm</a> (we&#8217;ve added an mb suffix to the executable)</li>
<li><a title="Patch File" href="http://www1.mbstatic.co.uk/wp-content/uploads/2009/09/cpan2rpm_mediaburst.patch" target="_blank">Patch containing our changes</a></li>
</ul>
<p>I&#8217;m not the world&#8217;s greatest Perl programmer as I normally write C# so if you&#8217;ve got any feedback please leave a comment below.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mediaburst.co.uk/blog/creating-perl-module-rpms/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Sending SMS via SMPP&#160;Interface</title>
		<link>http://www.mediaburst.co.uk/blog/smpp-interface/</link>
		<comments>http://www.mediaburst.co.uk/blog/smpp-interface/#comments</comments>
		<pubDate>Fri, 18 Sep 2009 12:13:11 +0000</pubDate>
		<dc:creator>John</dc:creator>
				<category><![CDATA[API & technical]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[smpp]]></category>
		<category><![CDATA[sms]]></category>

		<guid isPermaLink="false">http://www.mediaburst.co.uk/tech/?p=110</guid>
		<description><![CDATA[The SMPP SMS interface is now available on the new platform for sending via the SMS API. At the momenMSt delivery receipts are available over HTTP rather than SMPP. By default, the encoding is set to UTF-8, but it also supports Latin-1, UCS2 (Unicode), or GSM encodings. Give us a phone if you want to [...]]]></description>
			<content:encoded><![CDATA[<p>The <a href="/api/sending-a-message/interfaces/smpp/">SMPP SMS</a> interface is now available on the new platform for sending via the <a href="/api">SMS API</a>. At the momenMSt delivery receipts are available over HTTP rather than SMPP.</p>
<p>By default, the encoding is set to UTF-8, but it also supports Latin-1, UCS2 (Unicode), or GSM encodings.</p>
<p>Give us a phone if you want to know more.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mediaburst.co.uk/blog/smpp-interface/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Replacing our&#160;Firewalls</title>
		<link>http://www.mediaburst.co.uk/blog/firewalls/</link>
		<comments>http://www.mediaburst.co.uk/blog/firewalls/#comments</comments>
		<pubDate>Thu, 03 Sep 2009 14:33:34 +0000</pubDate>
		<dc:creator>Martin</dc:creator>
				<category><![CDATA[API & technical]]></category>
		<category><![CDATA[firewall]]></category>
		<category><![CDATA[firewalls]]></category>

		<guid isPermaLink="false">http://www.mediaburst.co.uk/tech/?p=99</guid>
		<description><![CDATA[We currently use Cisco PIX firewalls in both our data centres and office, we haven&#8217;t really had any problems with these but asCisco stopped providing software maintenance at the end of July now seems a good time to replace them. The obvious choice seemed to be the Cisco ASA range, probably the ASA5510, but in [...]]]></description>
			<content:encoded><![CDATA[<p>We currently use Cisco PIX firewalls in both our data centres and office, we haven&#8217;t really had any problems with these but asCisco stopped providing software maintenance at the end of July now seems a good time to replace them.<span id="more-504"></span></p>
<p>The obvious choice seemed to be the Cisco ASA range, probably the ASA5510, but in some areas the changes between the PIX and ASA platforms seem quite significant, so we thought we&#8217;d look at the competition too.</p>
<p>A little research narrowed us down to two suppliers that could provide all the features we need within a sensible budget, Cisco and Juniper.  Cisco are a safe bet, we&#8217;ve used them before and you don&#8217;t get any surprises, Juniper on the other hand have only recently started targeting smaller networks, most of their products are used in core networks.</p>
<h2>The main contenders were:</h2>
<h3>Cisco ASA5510</h3>
<p>The ASA line is a new improved version of the PIX.  They run the same OS and have a number of new features such as SSL VPN tunnels.</p>
<h3>Juniper SSG140</h3>
<p>The Juniper SSG range is based on the products previously made by Netscreen (acquired by Juniper a few years back).  They run a custom OS called ScreenOS and very similar to the ASA5510 in all features we need.</p>
<h3>Juniper SRX210</h3>
<p>Juniper have only recently introduced the smaller models in their SRX range, these run Junos, the same OS as Junipers core routers.   From the figures we obtained they appear to have considerably higher throughput and performance then either the ASA or SSG ranges and a number of additional features.</p>
<p>At the moment Juniper seem to be really pushing the SRX line, they&#8217;ve got really competitive pricing and <a title="Juniper Fast Track" href="https://learningportal.juniper.net/juniper/user_fasttrack_home.aspx">free online training</a> including certification, and given that they have more features than either of the other products we&#8217;ve going to give them a try.</p>
<p>A friendly Juniper reseller has agreed to lend us one for a couple of weeks while we see if they&#8217;re as good as they look on paper.</p>
<p>Once we&#8217;ve got our hands on one I&#8217;ll add another post letting you know what we think.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mediaburst.co.uk/blog/firewalls/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Perl Module Config&#160;Files</title>
		<link>http://www.mediaburst.co.uk/blog/perl-module-config-files/</link>
		<comments>http://www.mediaburst.co.uk/blog/perl-module-config-files/#comments</comments>
		<pubDate>Fri, 24 Jul 2009 13:59:29 +0000</pubDate>
		<dc:creator>John</dc:creator>
				<category><![CDATA[API & technical]]></category>
		<category><![CDATA[perl]]></category>

		<guid isPermaLink="false">http://blogs.mediaburst.co.uk/tech/?p=74</guid>
		<description><![CDATA[We have now written a follow up post to this on Creating Perl module RPM&#8217;s. We have been investigating the various build/packaging options for perl modules. Up to now we have been using the standard method of &#8216;h2xs -AXn Module::Name&#8216;. This generates a template module with a ExtUtils::MakeMaker build file. We can then use cpan2rpm [...]]]></description>
			<content:encoded><![CDATA[<p>We have now written a follow up post to this on <a href="/blog/creating-perl-module-rpms/">Creating Perl module RPM&#8217;s</a>.</p>
<p>We have been investigating the various build/packaging options for perl modules.</p>
<p><span id="more-503"></span></p>
<p>Up to now we have been using the standard method of &#8216;<strong>h2xs -AXn </strong><em>Module::Name</em>&#8216;. This generates a template module with a ExtUtils::MakeMaker build file.</p>
<p>We can then use <a href="http://search.cpan.org/dist/cpan2rpm/" target="_blank">cpan2rpm</a> to create rpm files that we can put on our internal yum repositories.</p>
<p>This allows us to easily install/upgrade the same module across our various servers.</p>
<p>The problem has come when we wanted to have a slightly modified rpm e.g. have the rpm create a standard user, install a binary and/or init script, or create a config file.</p>
<p>The ExtUtils / cpan2rpm combination does not appear to have this functionality. We started looking at putting it in, but it was becoming increasingly difficult to do so.</p>
<p>So we started looking at Module::Build instead of ExtUtls. With this it is easier to make custom builds, and because of this seems to becoming increasingly popular as the Perl module builder.</p>
<p>For instance the Build.PL to enable a config file install into /etc and a logrotate script can be as follows:</p>
<pre class="brush: perl; title: ; notranslate">use 5.008005;
use Module::Build;

my $build = Module::Build-&gt;new (
module_name =&gt; 'ModuleName',
license =&gt; 'perl',
dist_author =&gt; 'A.N. Other &lt;a.n.other@example.com&gt;',
dist_version_from =&gt; 'lib/ModuleName.pm',
etc_files =&gt; {
'etc/logrotate.d/modulename' =&gt; 'etc/logrotate.d/modulename',
'etc/modulename.conf' =&gt; 'etc/modulename.conf'
},
install_path =&gt; { 'etc' =&gt; '/etc' },
);
$build-&gt;add_build_element('etc');
$build-&gt;create_build_script;</pre>
<p>We still need to use our modified cpan2rpm if we need any pre or post install scripts in the rpm. But so far this appears to be working.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mediaburst.co.uk/blog/perl-module-config-files/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Success in&#160;Derby</title>
		<link>http://www.mediaburst.co.uk/blog/success-in-derby/</link>
		<comments>http://www.mediaburst.co.uk/blog/success-in-derby/#comments</comments>
		<pubDate>Thu, 09 Jul 2009 10:16:28 +0000</pubDate>
		<dc:creator>Martin</dc:creator>
				<category><![CDATA[API & technical]]></category>
		<category><![CDATA[data centre]]></category>

		<guid isPermaLink="false">http://blogs.mediaburst.co.uk/tech/?p=69</guid>
		<description><![CDATA[All our services have been running live in our new Derby data centre for over a week now and everything been working fine. If you&#8217;ve got any questions about any of the changes we&#8217;ve made give us a call or drop us an email.]]></description>
			<content:encoded><![CDATA[<p>All our services have been running live in our new Derby data centre for over a week now and everything been working fine.</p>
<p>If you&#8217;ve got any questions about any of the changes we&#8217;ve made give us a call or drop us an email.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mediaburst.co.uk/blog/success-in-derby/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Data centre move&#160;complete</title>
		<link>http://www.mediaburst.co.uk/blog/data-centre-move-complete/</link>
		<comments>http://www.mediaburst.co.uk/blog/data-centre-move-complete/#comments</comments>
		<pubDate>Tue, 30 Jun 2009 16:33:36 +0000</pubDate>
		<dc:creator>Martin</dc:creator>
				<category><![CDATA[API & technical]]></category>
		<category><![CDATA[data centre]]></category>

		<guid isPermaLink="false">http://blogs.mediaburst.co.uk/tech/?p=52</guid>
		<description><![CDATA[All services are now back up and running across our two sites in Manchester and Derby. We&#8217;ve spent most of the day today watching log files and checking customers had the right IP addresses for us on their firewalls. We&#8217;re now happy to say everything appears to be working fine. If you have any questions [...]]]></description>
			<content:encoded><![CDATA[<p>All services are now back up and running across our two sites in Manchester and Derby.  We&#8217;ve spent most of the day today watching log files and checking customers had the right IP addresses for us on their firewalls.<br />
<span id="more-498"></span></p>
<p>We&#8217;re now happy to say everything appears to be working fine.  If you have any questions or queries about the move give us a call on 0845 050 0000.</p>
<p>Here&#8217;s a few pictures to show off our tastefully coloured network cables.</p>

<a href='http://www.mediaburst.co.uk/blog/data-centre-move-complete/sp1020403/' title='Derby cabinet - Back'><img width="158" height="158" src="http://www2.mbstatic.co.uk/wp-content/uploads/2009/06/sP1020403-158x158.jpg" class="attachment-thumbnail" alt="Derby cabinet - Back" title="Derby cabinet - Back" /></a>
<a href='http://www.mediaburst.co.uk/blog/data-centre-move-complete/sp1020402/' title='Derby cabinet - Top'><img width="158" height="158" src="http://www1.mbstatic.co.uk/wp-content/uploads/2009/06/sP1020402-158x158.jpg" class="attachment-thumbnail" alt="Derby cabinet - Top" title="Derby cabinet - Top" /></a>
<a href='http://www.mediaburst.co.uk/blog/data-centre-move-complete/sp1020401/' title='Derby cabinet - Bottom'><img width="158" height="158" src="http://www1.mbstatic.co.uk/wp-content/uploads/2009/06/sP1020401-158x158.jpg" class="attachment-thumbnail" alt="Derby cabinet - Bottom" title="Derby cabinet - Bottom" /></a>

]]></content:encoded>
			<wfw:commentRss>http://www.mediaburst.co.uk/blog/data-centre-move-complete/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>We&#8217;ve&#160;moved</title>
		<link>http://www.mediaburst.co.uk/blog/weve-moved/</link>
		<comments>http://www.mediaburst.co.uk/blog/weve-moved/#comments</comments>
		<pubDate>Mon, 29 Jun 2009 09:17:00 +0000</pubDate>
		<dc:creator>Martin</dc:creator>
				<category><![CDATA[API & technical]]></category>
		<category><![CDATA[data centre]]></category>

		<guid isPermaLink="false">http://blogs.mediaburst.co.uk/tech/?p=47</guid>
		<description><![CDATA[All our servers are now settled into their new home in Derby. We&#8217;ve got quite a bit of testing to do before transferring over any services and we&#8217;ll post an update later today letting you know what&#8217;s happening. We no longer have any services running on the 213.218.217.160/27 range of IP addresses. Update Everything is [...]]]></description>
			<content:encoded><![CDATA[<p>All our servers are now settled into their new home in Derby.  We&#8217;ve got quite a bit of testing to do before transferring over any services and we&#8217;ll post an update later today letting you know what&#8217;s happening.<br />
<span id="more-497"></span></p>
<p>We no longer have any services running on the 213.218.217.160/27 range of IP addresses.</p>
<h2>Update</h2>
<p>Everything is now running fine in our Derby site, we&#8217;re not going to transfer over customer traffic until Tomorrow (Tuesday) so we can keep an eye on the log files.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mediaburst.co.uk/blog/weve-moved/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New Data&#160;centre</title>
		<link>http://www.mediaburst.co.uk/blog/new-data-centre/</link>
		<comments>http://www.mediaburst.co.uk/blog/new-data-centre/#comments</comments>
		<pubDate>Wed, 24 Jun 2009 15:37:42 +0000</pubDate>
		<dc:creator>Martin</dc:creator>
				<category><![CDATA[API & technical]]></category>

		<guid isPermaLink="false">http://blogs.mediaburst.co.uk/tech/?p=23</guid>
		<description><![CDATA[Things are progressing nicely for our data centre move to Derby this weekend. We&#8217;ve got the network infrastructure and DNS servers in place and will be moving across the bulk of the hardware on Saturday. A few pictures of where we&#8217;ll be hosting the services]]></description>
			<content:encoded><![CDATA[<p>Things are progressing nicely for our data centre move to Derby this weekend.  We&#8217;ve got the network infrastructure and DNS servers in place and will be moving across the bulk of the hardware on Saturday.<br />
<span id="more-493"></span></p>
<h2>A few pictures of where we&#8217;ll be hosting the services</h2>

<a href='http://www.mediaburst.co.uk/blog/new-data-centre/p1020384-copy-2/' title='Derby - Aisle'><img width="158" height="158" src="http://www2.mbstatic.co.uk/wp-content/uploads/2009/06/P1020384-Copy-158x158.jpg" class="attachment-thumbnail" alt="Derby - Aisle" title="Derby - Aisle" /></a>
<a href='http://www.mediaburst.co.uk/blog/new-data-centre/p1020386-copy-2/' title='Derby - New Cabinet - Front'><img width="158" height="158" src="http://www2.mbstatic.co.uk/wp-content/uploads/2009/06/P1020386-Copy-158x158.jpg" class="attachment-thumbnail" alt="Derby - New Cabinet - Front" title="Derby - New Cabinet - Front" /></a>
<a href='http://www.mediaburst.co.uk/blog/new-data-centre/p1020387-copy-2/' title='Derby - New Cabinet-  Back'><img width="158" height="158" src="http://www1.mbstatic.co.uk/wp-content/uploads/2009/06/P1020387-Copy-158x158.jpg" class="attachment-thumbnail" alt="Derby - New Cabinet-  Back" title="Derby - New Cabinet-  Back" /></a>

]]></content:encoded>
			<wfw:commentRss>http://www.mediaburst.co.uk/blog/new-data-centre/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>IP Address Range&#160;Changes</title>
		<link>http://www.mediaburst.co.uk/blog/important-notice-of-ip-address-range-changes/</link>
		<comments>http://www.mediaburst.co.uk/blog/important-notice-of-ip-address-range-changes/#comments</comments>
		<pubDate>Wed, 10 Jun 2009 12:08:22 +0000</pubDate>
		<dc:creator>Martin</dc:creator>
				<category><![CDATA[API & technical]]></category>

		<guid isPermaLink="false">http://blogs.mediaburst.co.uk/tech/?p=7</guid>
		<description><![CDATA[As part of our continuous drive to improve products and services, we are configuring a new high capacity data centre between Saturday 27th 2009 and Monday 29th June 2009. All services will be up and running as normal during this period from our Manchester data centre. IP Address Range Changes The development requires clients that [...]]]></description>
			<content:encoded><![CDATA[<p>As part of our continuous drive to improve products and services, we are configuring a new high capacity data centre between Saturday 27th 2009 and Monday 29th June 2009. All services will be up and running as normal during this period from our Manchester data centre.<br />
<span id="more-492"></span></p>
<h2>IP Address Range Changes</h2>
<p>The development requires clients that restrict access to/from Mediaburst services based on IP addresses to make the following changes:</p>
<h2>From 27th June 2009:</h2>
<p>Services will start running on the 89.248.48.192/27 range. (89.248.48.192 through to 89.248.48.223)</p>
<h2>From 29th June 2009:</h2>
<p>Services will no longer be running on the 213.218.217.160/27 range. (213.218.217.160 through to 213.218.217.191)</p>
<p>There will be no change to our Manchester, 217.20.43.96/27, range of IP addresses   (217.20.43.96 through to 217.20.43.127)</p>
<p>If you have any questions give us a call.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mediaburst.co.uk/blog/important-notice-of-ip-address-range-changes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Welcome to the Mediaburst Technical&#160;blog</title>
		<link>http://www.mediaburst.co.uk/blog/welcome/</link>
		<comments>http://www.mediaburst.co.uk/blog/welcome/#comments</comments>
		<pubDate>Wed, 10 Jun 2009 11:09:51 +0000</pubDate>
		<dc:creator>Martin</dc:creator>
				<category><![CDATA[API & technical]]></category>

		<guid isPermaLink="false">http://blogs.mediaburst.co.uk/tech/?p=5</guid>
		<description><![CDATA[We&#8217;re going to use this blog to tell you a little about what we&#8217;re doing and we&#8217;ll also cover some of the strange technical issues we come across with SMS and MMS messaging.]]></description>
			<content:encoded><![CDATA[<p>We&#8217;re going to use this blog to tell you a little about what we&#8217;re doing and we&#8217;ll also cover some of the strange technical issues we come across with SMS and MMS messaging.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mediaburst.co.uk/blog/welcome/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic page generated in 1.797 seconds. -->
<!-- Cached page generated by WP-Super-Cache on 2012-02-08 12:43:25 -->
<!-- Compression = gzip -->
