<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><atom:id>tag:blogger.com,1999:blog-8549925100910560929</atom:id><lastBuildDate>Sun, 27 Nov 2011 23:21:07 +0000</lastBuildDate><category>linux</category><category>mobile</category><category>xml</category><category>ss7</category><category>http servlet</category><category>isup</category><category>tcap</category><category>java</category><category>sailfin</category><category>C</category><category>m2pa</category><category>sigtran</category><category>IMS</category><category>SIP</category><category>map</category><category>voip</category><category>dialogic</category><category>camel</category><category>sip application server</category><category>xml-rpc</category><category>presentation</category><category>C++</category><category>ericsson SDS</category><category>sip redirect server</category><category>session initiation protocol</category><category>sip servlet</category><category>ip multimedia subsystem</category><category>inap</category><category>m3ua</category><category>wireless</category><category>sdk</category><category>cap</category><category>video</category><category>windows</category><category>alcatel-lucent</category><category>solaris</category><category>http post</category><title>The Telecom SPOT.</title><description /><link>http://thetelecomspot.blogspot.com/</link><managingEditor>noreply@blogger.com (Mihnea Teodorescu)</managingEditor><generator>Blogger</generator><openSearch:totalResults>4</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/TheTelecomSpot" /><feedburner:info uri="thetelecomspot" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:emailServiceId>TheTelecomSpot</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8549925100910560929.post-1706753290685610988</guid><pubDate>Wed, 03 Dec 2008 20:07:00 +0000</pubDate><atom:updated>2008-12-03T22:11:02.199+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">video</category><category domain="http://www.blogger.com/atom/ns#">SIP</category><category domain="http://www.blogger.com/atom/ns#">mobile</category><category domain="http://www.blogger.com/atom/ns#">IMS</category><category domain="http://www.blogger.com/atom/ns#">wireless</category><category domain="http://www.blogger.com/atom/ns#">presentation</category><category domain="http://www.blogger.com/atom/ns#">alcatel-lucent</category><title>IMS - The Evolution in Telecom</title><description>Please watch a video presentation about IMS from Alcatel.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/k9RwCTsvr9c&amp;amp;hl=en&amp;amp;fs=1"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/k9RwCTsvr9c&amp;amp;hl=en&amp;amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8549925100910560929-1706753290685610988?l=thetelecomspot.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TheTelecomSpot/~4/iTGIXrrjwU0" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/TheTelecomSpot/~3/iTGIXrrjwU0/ims-evolution-in-telecom.html</link><author>noreply@blogger.com (Mihnea Teodorescu)</author><thr:total>0</thr:total><feedburner:origLink>http://thetelecomspot.blogspot.com/2008/12/ims-evolution-in-telecom.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8549925100910560929.post-7203988474561161492</guid><pubDate>Mon, 10 Nov 2008 16:03:00 +0000</pubDate><atom:updated>2008-11-10T18:39:31.831+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">java</category><category domain="http://www.blogger.com/atom/ns#">http post</category><category domain="http://www.blogger.com/atom/ns#">xml-rpc</category><category domain="http://www.blogger.com/atom/ns#">xml</category><category domain="http://www.blogger.com/atom/ns#">http servlet</category><title>How to send an XML-RPC request using HTTP POST</title><description>&lt;span style="font-size:85%;"&gt;by &lt;a href="http://mihneateodorescu.ro/blog/"&gt;Mihnea Teodorescu&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;If you used &lt;span style="font-weight: bold;"&gt;XML-RPC&lt;/span&gt; for building server interfaces, you must probably have got into a very simple problem: testing your XML-RPC server. Since you may not want to use the apache XML-RPC client and librairies, I propose you a "quick and dirty" way to send an XML-RPC requests over &lt;span style="font-weight: bold;"&gt;HTTP POST&lt;/span&gt; in &lt;span style="font-weight: bold;"&gt;java&lt;/span&gt;. The only thing is that you must have the XML-RPC request already built before starting.&lt;br /&gt;So, if I want to test my &lt;span style="font-weight: bold;"&gt;XML-RPC server&lt;/span&gt; running at http://www.mihneateodorescu.ro/RPC, using &lt;a href="http://mihneateodorescu.ro/blog/downloads/xmlrpcrequest.xml"&gt;this&lt;/a&gt; &lt;span style="font-weight: bold;"&gt;XML request&lt;/span&gt;, I will use &lt;a href="http://mihneateodorescu.ro/blog/downloads/SendXMLRPC.java"&gt;this java code&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Just compile the source code and you can use it right away!&lt;br /&gt;The XML samples credit goes to &lt;a href="http://en.wikipedia.org/wiki/XML-RPC"&gt;http://en.wikipedia.org/wiki/XML-RPC&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8549925100910560929-7203988474561161492?l=thetelecomspot.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TheTelecomSpot/~4/yuFK3B2J2ps" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/TheTelecomSpot/~3/yuFK3B2J2ps/how-to-send-xml-rpc-request-using-http.html</link><author>noreply@blogger.com (Mihnea Teodorescu)</author><thr:total>0</thr:total><feedburner:origLink>http://thetelecomspot.blogspot.com/2008/11/how-to-send-xml-rpc-request-using-http.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8549925100910560929.post-9202467127821064920</guid><pubDate>Thu, 06 Nov 2008 13:15:00 +0000</pubDate><atom:updated>2008-11-06T15:19:57.719+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">C</category><category domain="http://www.blogger.com/atom/ns#">ss7</category><category domain="http://www.blogger.com/atom/ns#">map</category><category domain="http://www.blogger.com/atom/ns#">dialogic</category><category domain="http://www.blogger.com/atom/ns#">sigtran</category><category domain="http://www.blogger.com/atom/ns#">isup</category><category domain="http://www.blogger.com/atom/ns#">windows</category><category domain="http://www.blogger.com/atom/ns#">tcap</category><category domain="http://www.blogger.com/atom/ns#">linux</category><category domain="http://www.blogger.com/atom/ns#">camel</category><category domain="http://www.blogger.com/atom/ns#">inap</category><category domain="http://www.blogger.com/atom/ns#">sdk</category><category domain="http://www.blogger.com/atom/ns#">C++</category><category domain="http://www.blogger.com/atom/ns#">cap</category><category domain="http://www.blogger.com/atom/ns#">m3ua</category><category domain="http://www.blogger.com/atom/ns#">solaris</category><category domain="http://www.blogger.com/atom/ns#">m2pa</category><title>The Dialogic SDK, or how to build an SS7 application</title><description>&lt;p&gt;&lt;span style="font-size:85%;"&gt;by &lt;a href="http://mihneateodorescu.ro/blog/"&gt;Mihnea Teodorescu&lt;/a&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I have started to play with the Dialogic SS7 stack a few years ago, while working for an NGN operator. I’ve been surprised to find out that they have released an SDK for developers wishing to build their own SS7-based products.&lt;/p&gt; &lt;p&gt;So, if you are a developer who wants to build an SMSC for example, you will only have to download the SS7 stack modules that you need and start coding! The stack also includes support for Sigtran (M3UA &amp;amp; M2PA) so you actually don’t need extra hardware for the development process.&lt;a href="http://www.dialogic.com/forums/forums/thread-view.asp?tid=1080&amp;amp;posts=1&amp;amp;start=1" target="_blank"&gt;Here&lt;/a&gt; you can find a sample application for exchanging SMS’es over a Sigtran link.&lt;/p&gt; &lt;p&gt;There are multiple examples included in the SDK - ISUP, MAP, INAP, etc. Have a quick look &lt;a href="http://www.dialogic.com/products/signalingip_ss7components/signaling_software.htm" target="_blank"&gt;on their website&lt;/a&gt; if you want to find out more about their SS7 products.&lt;/p&gt; &lt;p&gt;P.S. The SDK is available for C/C++ developers only.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8549925100910560929-9202467127821064920?l=thetelecomspot.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TheTelecomSpot/~4/fGVXpu5-w-g" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/TheTelecomSpot/~3/fGVXpu5-w-g/dialogic-sdk-or-how-to-build-ss7.html</link><author>noreply@blogger.com (Mihnea Teodorescu)</author><thr:total>0</thr:total><feedburner:origLink>http://thetelecomspot.blogspot.com/2008/11/dialogic-sdk-or-how-to-build-ss7.html</feedburner:origLink></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-8549925100910560929.post-2539488471083611903</guid><pubDate>Thu, 06 Nov 2008 13:01:00 +0000</pubDate><atom:updated>2008-11-06T15:09:05.021+02:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">sip application server</category><category domain="http://www.blogger.com/atom/ns#">SIP</category><category domain="http://www.blogger.com/atom/ns#">ip multimedia subsystem</category><category domain="http://www.blogger.com/atom/ns#">sip servlet</category><category domain="http://www.blogger.com/atom/ns#">session initiation protocol</category><category domain="http://www.blogger.com/atom/ns#">IMS</category><category domain="http://www.blogger.com/atom/ns#">voip</category><category domain="http://www.blogger.com/atom/ns#">sailfin</category><category domain="http://www.blogger.com/atom/ns#">http servlet</category><category domain="http://www.blogger.com/atom/ns#">ericsson SDS</category><category domain="http://www.blogger.com/atom/ns#">sip redirect server</category><title>IMS Services Development Tutorial</title><description>&lt;span style="font-size:85%;"&gt;by &lt;a href="http://mihneateodorescu.ro/blog/"&gt;Mihnea Teodorescu&lt;/a&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;Intro&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This is the first article that I wrote in order to show how IMS / SIP services can be built using the SIP Servlets technology.&lt;br /&gt;&lt;br /&gt;Session Initiation Protocol, known as SIP, is a signaling protocol that is used by next-generation applications in the telecom industry.&lt;br /&gt;The articles will be based on SIP Servlets technology and I will also provide some examples in order to have you test the functionality by yourself. The examples will be coded in Java, which provides a very good platform for building SIP applications.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;What do I need to move forward?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;It's actually pretty simple, there are not so many prerequisites for this tutorial. Let's just name a few:&lt;br /&gt;&lt;br /&gt;- first, you need an IDE to run the examples. I'm using Ericsson SDS which I find really useful.&lt;br /&gt;- SIP Servlet API Specs, available &lt;a href="http://jcp.org/aboutJava/communityprocess/final/jsr116"&gt;here&lt;/a&gt;.&lt;br /&gt;- &lt;a href="http://www.ietf.org/rfc/rfc3261.txt"&gt;SIP Protocol&lt;/a&gt; knowledge.&lt;br /&gt;- HTTP Servlets knowledge.&lt;br /&gt;- 15 minutes to get to the end of this tutorial :-)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;SIP Servlets. What are they?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The SIP Servlets are quite similar with HTTP Servlets. There are alot of good articles on the Internet talking about both SIP and HTTP Servlets. You can just quickly &lt;a href="http://www.google.ro/search?hl=ro&amp;amp;q=sip+servlets+tutorial&amp;amp;btnG=C%C4%83utare&amp;amp;meta="&gt;google for them&lt;/a&gt; so you can have a good understanding on how a servlet works.&lt;br /&gt;&lt;br /&gt;A servlet is an object that receives a request and after processing it generates a response to the initial request. When using HTTP, we can process GET or POST methods inside a servlet and generate HTTP specific response messages such as "200 OK" or "404 Not Found".When it comes to SIP, a servlet can receive a request and response at any time.&lt;br /&gt;A servlet container is a specialized server that supports servlet execution. There is an open-source implementation of a SIP Application Server that I recommend, called Sailfin, which allows a developer to mix SIP Servlets and Java EE components.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;OK, I got it. Let's move on!&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The great thing about the SIP Servlets is that the developer should only focus on the high-level of the application, while the actual servlet technology is taking care of SIP transactions,dialogs, message parsing or other protocol specific things. What does it mean ?&lt;br /&gt;Well, I will show you how can you build a very simple SIP Redirect server with only five lines of code.&lt;br /&gt;&lt;br /&gt;So here's what we need to do.&lt;br /&gt;First, we will create a new servlet, called RedirectServlet that extends the SipServlet defauld implementation:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;public class RedirectServlet extends SipServlet {}&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;Once this is build, the next thing to do is to create the servlet's init() method like this:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;public void init(ServletConfig config) throws ServletException {&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;super.init(config);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;ServletContext context = config.getServletContext();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;sipFactory = (SipFactory) context&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;.getAttribute("javax.servlet.sip.SipFactory");&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;What does our Redirect Server do ? For each INVITE request that it receives, it will perform a database query (not included here) and it will answer back ith a 302 Moved Temporarily message containing a new "Contact" field. Check the below lines of code:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;protected void doInvite(SipServletRequest req)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;throws ServletException, IOException {&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;//it gets the MSISDN from the next string. sip:MSISDN@domain.com&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;String MSISDN = req.getRequestURI().toString().substring(req.getRequestURI().toString().indexOf(":")+1, req.getRequestURI().toString().indexOf("@"));&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;//check the above parsing&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;System.out.println("MSISDN="+MSISDN);&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;//building the 302 Moved Temporarily&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;SipServletResponse resp = req.createResponse(302);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;resp.removeHeader("Contact");&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;// database_query(MSISDN) will return a new number to be put in the Contact field&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;resp.addHeader("Contact", database_query(MSISDN)+"@otherdomain.com");&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;resp.send();&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;There you go! A brand new SIP Redirect Server built in just 10 minutes.&lt;br /&gt;&lt;br /&gt;To test the RedirectServlet, you need to use Ericsson's SDS IDE and start a new project. The IDE has a SIP Application Server built-in so you can easily test your new servlet inside the IDE. I will upload the complete source-code of the RedirectServlet in the next coming days.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;I hope this article gives you a quick start on programming SIP applications using SIP Servlets technology. Once I'll get some spare time, I will be happy o add some more articles related to this new technology.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Interested in other articles? Read my techLog &lt;a href="http://mihneateodorescu.ro/blog/?page_id=48"&gt;here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8549925100910560929-2539488471083611903?l=thetelecomspot.blogspot.com' alt='' /&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/TheTelecomSpot/~4/HKBv1svgxxY" height="1" width="1"/&gt;</description><link>http://feedproxy.google.com/~r/TheTelecomSpot/~3/HKBv1svgxxY/ims-services-development-tutorial.html</link><author>noreply@blogger.com (Mihnea Teodorescu)</author><thr:total>1</thr:total><feedburner:origLink>http://thetelecomspot.blogspot.com/2008/11/ims-services-development-tutorial.html</feedburner:origLink></item></channel></rss>

