<?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>Alex&#039;s Adventures in CodeSpace &#187; smsc</title>
	<atom:link href="http://www.blogalex.com/archives/tag/smsc/feed" rel="self" type="application/rss+xml" />
	<link>http://www.blogalex.com</link>
	<description>Alex Guerrieri&#039;s Blog</description>
	<lastBuildDate>Wed, 22 Jun 2011 15:56:18 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>Startup mode for SMSC&#8217;s</title>
		<link>http://www.blogalex.com/archives/250</link>
		<comments>http://www.blogalex.com/archives/250#comments</comments>
		<pubDate>Wed, 17 Nov 2010 20:52:54 +0000</pubDate>
		<dc:creator>alex</dc:creator>
				<category><![CDATA[Kannel]]></category>
		<category><![CDATA[patches]]></category>
		<category><![CDATA[smsc]]></category>

		<guid isPermaLink="false">http://www.blogalex.com/?p=250</guid>
		<description><![CDATA[This patch allows you to configure your smsc binds to boot in "dead" (stopped) mode.]]></description>
			<content:encoded><![CDATA[<div style="margin:5px 0px 5px 0px" id="linksalpha_tag_1533344662" class="linksalpha-email-button" data-url="http://www.blogalex.com/archives/250" data-text="Startup mode for SMSC's" data-desc="When you start Kannel, it attempts to start all the configured SMSC binds. While this is usually what most people needs, there might be some cases when you don't want all your binds to come up at once:

	Failover routes that you manually enable when needed.
	New binds being worked out, not ready for production.
	Test binds you use only from time to time.
	Etc.

This patch allows you to configure in which state a bind will start when booting (or when adding it with the add-smsc command). T" data-site="Alex&#039;s Adventures in CodeSpace"></div><script type="text/javascript" src="http://www.linksalpha.com/social/loader?script_type=buttons_counters&tag_id=linksalpha_tag_1533344662&link=http%3A%2F%2Fwww.blogalex.com%2Farchives%2F250&gplus=1&twitter=1&fblike=1&linkedin=1&gbuzz=0&tumblr=0&reddit=0&pinterest=0&digg=0&stumbleupon=0&gpluslang=en-US&twitterlang=en&fblikelang=en_US&gbuzzlang=en&fblikeverb=like&fblikefont=arial&fblikeref=linksalpha&gplusctr=1&twitterctr=1&linkedinctr=1&gbuzzctr=1&redditctr=1&pinterestctr=1&diggctr=1&stumbleuponctr=1&twittermention=&twitterrelated1=&twitterrelated2=&halign=center"></script><p>When you start Kannel, it attempts to start all the configured SMSC binds. While this is usually what most people needs, there might be some cases when you don&#8217;t want all your binds to come up at once:</p>
<ul>
<li>Failover routes that you manually enable when needed.</li>
<li>New binds being worked out, not ready for production.</li>
<li>Test binds you use only from time to time.</li>
<li>Etc.</li>
</ul>
<p>This patch allows you to configure in which state a bind will start when booting (or when adding it with the <em>add-smsc</em> command). This is done by a new parameter on the smsc group called <em>start-at-boot</em>, which defaults to <em>true</em> if not present.</p>
<p>In short: just add the following line to an smsc group:</p>
<blockquote><p>start-at-boot = false</p></blockquote>
<p>and that smsc will start as &#8220;dead&#8221; and will require a start-smsc command to activate it.</p>
<p>Download the patch from <a title="Start at boot" href="http://www.blogalex.com/wp-content/uploads/2010/11/kannel-smsc-start-at-boot.patch">here</a>.</p>
<p>As usual, this is fairly untested code and should be used with caution.</p>
<p>Please try it and let me know if you encounter any issues.</p>
<p>Alex</p>
<div style="margin:0px 0px 0px 0px" id="linksalpha_tag_1134085885" class="linksalpha-email-button" data-url="http://www.blogalex.com/archives/250" data-text="Startup mode for SMSC's" data-desc="When you start Kannel, it attempts to start all the configured SMSC binds. While this is usually what most people needs, there might be some cases when you don't want all your binds to come up at once:

	Failover routes that you manually enable when needed.
	New binds being worked out, not ready for production.
	Test binds you use only from time to time.
	Etc.

This patch allows you to configure in which state a bind will start when booting (or when adding it with the add-smsc command). T" data-site="Alex&#039;s Adventures in CodeSpace"></div><script type="text/javascript" src="http://www.linksalpha.com/social/loader?script_type=buttons_counters&tag_id=linksalpha_tag_1134085885&link=http%3A%2F%2Fwww.blogalex.com%2Farchives%2F250&gplus=1&twitter=1&fbsend=1&linkedin=1&gbuzz=0&tumblr=0&reddit=0&pinterest=1&digg=0&stumbleupon=1&gpluslang=en-US&twitterlang=en&fbsendlang=en_US&gbuzzlang=en&twittermention=&twitterrelated1=&twitterrelated2=&halign=center"></script>]]></content:encoded>
			<wfw:commentRss>http://www.blogalex.com/archives/250/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Custom MO parameters on generic http-smsc</title>
		<link>http://www.blogalex.com/archives/171</link>
		<comments>http://www.blogalex.com/archives/171#comments</comments>
		<pubDate>Thu, 28 May 2009 20:57:12 +0000</pubDate>
		<dc:creator>alex</dc:creator>
				<category><![CDATA[Kannel]]></category>
		<category><![CDATA[http]]></category>
		<category><![CDATA[parameters]]></category>
		<category><![CDATA[patches]]></category>
		<category><![CDATA[smsc]]></category>

		<guid isPermaLink="false">http://www.blogalex.com/?p=171</guid>
		<description><![CDATA[This patch allows you to change the parameter names used when receiving incoming messages (MO&#8217;s) using the generic http-smsc. To use it, you need to add a few extra entries for the parameters you want to be redefined. The format is: generic-param-&#60;original-name&#62; = &#60;new-name&#62; For example, to redefine from, to, smsc and text: generic-param-from = [...]]]></description>
			<content:encoded><![CDATA[<div style="margin:5px 0px 5px 0px" id="linksalpha_tag_431609464" class="linksalpha-email-button" data-url="http://www.blogalex.com/archives/171" data-text="Custom MO parameters on generic http-smsc" data-desc="This patch allows you to change the parameter names used when receiving incoming messages (MO's) using the generic http-smsc.

To use it, you need to add a few extra entries for the parameters you want to be redefined. The format is: generic-param-&lt;original-name&gt; = &lt;new-name&gt;

For example, to redefine from, to, smsc and text:
generic-param-from = "phoneNumber"
generic-param-to = "shortCode"
generic-param-text = "message"
generic-param-smsc = "carrier"
That's it, you'll be ab" data-site="Alex&#039;s Adventures in CodeSpace"></div><script type="text/javascript" src="http://www.linksalpha.com/social/loader?script_type=buttons_counters&tag_id=linksalpha_tag_431609464&link=http%3A%2F%2Fwww.blogalex.com%2Farchives%2F171&gplus=1&twitter=1&fblike=1&linkedin=1&gbuzz=0&tumblr=0&reddit=0&pinterest=0&digg=0&stumbleupon=0&gpluslang=en-US&twitterlang=en&fblikelang=en_US&gbuzzlang=en&fblikeverb=like&fblikefont=arial&fblikeref=linksalpha&gplusctr=1&twitterctr=1&linkedinctr=1&gbuzzctr=1&redditctr=1&pinterestctr=1&diggctr=1&stumbleuponctr=1&twittermention=&twitterrelated1=&twitterrelated2=&halign=center"></script><p>This patch allows you to change the parameter names used when receiving incoming messages (MO&#8217;s) using the generic http-smsc.</p>
<p>To use it, you need to add a few extra entries for the parameters you want to be redefined. The format is: <em>generic-param-&lt;original-name&gt; = &lt;new-name&gt;</em></p>
<p>For example, to redefine <em>from</em>, <em>to</em>, <em>smsc</em> and <em>text</em>:</p>
<blockquote><p>generic-param-from = &#8220;phoneNumber&#8221;<br />
generic-param-to = &#8220;shortCode&#8221;<br />
generic-param-text = &#8220;message&#8221;<br />
generic-param-smsc = &#8220;carrier&#8221;</p></blockquote>
<p>That&#8217;s it, you&#8217;ll be able to use an url like this then:</p>
<p><em>http://myhost:myport/sms?phoneNumber=234567890&amp;shortCode=1234&amp;message=Hello+World&amp;carrier=mycarrier</em></p>
<p>Download the patch from <a href="http://www.blogalex.com/wp-content/uploads/2009/05/kannel-generic-mo.patch">here</a>.</p>
<p>As usual, try it and let me know.</p>
<p>-Alex</p>
<div style="margin:0px 0px 0px 0px" id="linksalpha_tag_1643496715" class="linksalpha-email-button" data-url="http://www.blogalex.com/archives/171" data-text="Custom MO parameters on generic http-smsc" data-desc="This patch allows you to change the parameter names used when receiving incoming messages (MO's) using the generic http-smsc.

To use it, you need to add a few extra entries for the parameters you want to be redefined. The format is: generic-param-&lt;original-name&gt; = &lt;new-name&gt;

For example, to redefine from, to, smsc and text:
generic-param-from = "phoneNumber"
generic-param-to = "shortCode"
generic-param-text = "message"
generic-param-smsc = "carrier"
That's it, you'll be ab" data-site="Alex&#039;s Adventures in CodeSpace"></div><script type="text/javascript" src="http://www.linksalpha.com/social/loader?script_type=buttons_counters&tag_id=linksalpha_tag_1643496715&link=http%3A%2F%2Fwww.blogalex.com%2Farchives%2F171&gplus=1&twitter=1&fbsend=1&linkedin=1&gbuzz=0&tumblr=0&reddit=0&pinterest=1&digg=0&stumbleupon=1&gpluslang=en-US&twitterlang=en&fbsendlang=en_US&gbuzzlang=en&twittermention=&twitterrelated1=&twitterrelated2=&halign=center"></script>]]></content:encoded>
			<wfw:commentRss>http://www.blogalex.com/archives/171/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>DLR extravaganza</title>
		<link>http://www.blogalex.com/archives/121</link>
		<comments>http://www.blogalex.com/archives/121#comments</comments>
		<pubDate>Mon, 04 May 2009 19:32:55 +0000</pubDate>
		<dc:creator>alex</dc:creator>
				<category><![CDATA[Kannel]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[dlr]]></category>
		<category><![CDATA[patches]]></category>
		<category><![CDATA[smsc]]></category>
		<category><![CDATA[storage]]></category>

		<guid isPermaLink="false">http://www.blogalex.com/?p=121</guid>
		<description><![CDATA[This patch adds a new configuration parameter to control the smsc name dlrs use when stored on the DB.]]></description>
			<content:encoded><![CDATA[<div style="margin:5px 0px 5px 0px" id="linksalpha_tag_1959617712" class="linksalpha-email-button" data-url="http://www.blogalex.com/archives/121" data-text="DLR extravaganza" data-desc="NOTE: This patch was superseded by another one I've wrote that adds smsc-admin-id instead. The smsc-admin-id patch was already commited to CVS so the use of the smsc-dlr-alias is now officially deprecated.

A problem you may have faced with dlrs on Kannel: If you're using dlrs and have more than one bind to a given carrier, you need to name them all the same. Otherwise, if the dlr come back over a different bind than the one you've used to send the MT message in the first place, Kannel won't b" data-site="Alex&#039;s Adventures in CodeSpace"></div><script type="text/javascript" src="http://www.linksalpha.com/social/loader?script_type=buttons_counters&tag_id=linksalpha_tag_1959617712&link=http%3A%2F%2Fwww.blogalex.com%2Farchives%2F121&gplus=1&twitter=1&fblike=1&linkedin=1&gbuzz=0&tumblr=0&reddit=0&pinterest=0&digg=0&stumbleupon=0&gpluslang=en-US&twitterlang=en&fblikelang=en_US&gbuzzlang=en&fblikeverb=like&fblikefont=arial&fblikeref=linksalpha&gplusctr=1&twitterctr=1&linkedinctr=1&gbuzzctr=1&redditctr=1&pinterestctr=1&diggctr=1&stumbleuponctr=1&twittermention=&twitterrelated1=&twitterrelated2=&halign=center"></script><p><strong>NOTE</strong>: This patch was superseded by another one I&#8217;ve wrote that adds <em>smsc-admin-id</em> instead. The s<em>msc-admin-id</em> patch was already commited to CVS so the use of th<em>e smsc-dlr-alias</em> is now officially <strong>deprecated</strong>.</p>
<p>A problem you may have faced with <em>dlrs</em> on Kannel: If you&#8217;re using <em>dlrs</em> and have more than one bind to a given carrier, you need to name them all the same. Otherwise, if the <em>dlr</em> come back over a different bind than the one you&#8217;ve used to send the <em>MT</em> message in the first place, Kannel won&#8217;t be able to match them, since they won&#8217;t share the same <em>&#8220;smsc&#8221;</em> field.</p>
<p>This is usually OK. However, you lose the ability to control the binds independently: you cannot shutdown a single bind, for example. The problem worsens yet more if your binds are to different data centers (some carriers have redundant <em>SMSC&#8217;s</em> on geographycally distant places).</p>
<p>That&#8217;s why I&#8217;ve created <a href="http://www.blogalex.com/wp-content/uploads/2009/05/kannel-dlr-alias.patch">this patch</a> that adds a new configuration option to <em>SMSC</em> groups:</p>
<blockquote><p>smsc-dlr-alias</p></blockquote>
<p>Using this parameter, you can define an alias to use when storing <em>dlrs</em>, so they will match despite being sent/received over different binds.</p>
<p>For example:</p>
<blockquote>
<div>&#8230;</div>
<div>#carrier link 1</div>
<div>
<div>group                      = smsc</div>
<div>smsc                       = smpp</div>
<div>smsc-id                  = &#8220;link1&#8243;</div>
<div>smsc-dlr-alias     = &#8220;myalias&#8221;</div>
<div>allowed-smsc-id = &#8220;link1;mylink&#8221;</div>
<div>host                        = &#8220;1.1.1.1&#8243;</div>
<div>&#8230;</div>
<div>
<div>#carrier link 2</div>
<div>
<div>group                      = smsc</div>
<div>smsc                       = smpp</div>
<div>smsc-id                  = &#8220;link2&#8243;</div>
<div>smsc-dlr-alias     = &#8220;myalias&#8221;</div>
<div>allowed-smsc-id = &#8220;link2;mylink&#8221;</div>
<div>host                        = &#8220;1.1.1.1&#8243;</div>
</div>
<div>&#8230;</div>
</div>
</div>
</blockquote>
<p>Using this configuration, you just have to use the <em>&#8220;&amp;smsc=mylink&#8221;</em> parameter on your <em>send-sms</em> url. The dlr will be stored using the alias <em>&#8220;myalias&#8221;</em> no matter which of these 2 routes the message takes. When getting the response back, again, it will be matched against <em>&#8220;myalias&#8221;</em>.</p>
<p>Download the patch <a href="http://www.blogalex.com/wp-content/uploads/2009/05/kannel-dlr-alias.patch">here</a>.</p>
<p>Please try it and let me know what you think.</p>
<p>Regards,</p>
<p>Alex</p>
<div style="margin:0px 0px 0px 0px" id="linksalpha_tag_78674395" class="linksalpha-email-button" data-url="http://www.blogalex.com/archives/121" data-text="DLR extravaganza" data-desc="NOTE: This patch was superseded by another one I've wrote that adds smsc-admin-id instead. The smsc-admin-id patch was already commited to CVS so the use of the smsc-dlr-alias is now officially deprecated.

A problem you may have faced with dlrs on Kannel: If you're using dlrs and have more than one bind to a given carrier, you need to name them all the same. Otherwise, if the dlr come back over a different bind than the one you've used to send the MT message in the first place, Kannel won't b" data-site="Alex&#039;s Adventures in CodeSpace"></div><script type="text/javascript" src="http://www.linksalpha.com/social/loader?script_type=buttons_counters&tag_id=linksalpha_tag_78674395&link=http%3A%2F%2Fwww.blogalex.com%2Farchives%2F121&gplus=1&twitter=1&fbsend=1&linkedin=1&gbuzz=0&tumblr=0&reddit=0&pinterest=1&digg=0&stumbleupon=1&gpluslang=en-US&twitterlang=en&fbsendlang=en_US&gbuzzlang=en&twittermention=&twitterrelated1=&twitterrelated2=&halign=center"></script>]]></content:encoded>
			<wfw:commentRss>http://www.blogalex.com/archives/121/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>

