Saturday, May 29, 2010

Kamailio and Freeswitch Integration, Jun 2, 2010

On the 2nd of June, 2010, I will speak at FreeSWITCH Weekly Conference about integration of Kamailio and FreeSWITCH.




The draft of agenda is:

  • Goals of Kamailio, how it differentiates from FreeSWITCH and why using them together creates a very powerful framework to build large VoIP systems.
  • Kamailio for sip routing and FreeSWITCH as media server (conferencing, voicemail, IVR, announcements)
  • FreeSWITCH as a B2BUA for Kamailio (topology hiding, transcoding, call interrupt detection)
  • FreeSWITCH as prepaid engine for Kamailio
  • Load balancing FreeSWITCH servers with Kamailio
  • Q & A Session

You can find more details at:

Details to connect to audio conference (time: 1800 UTC / 1200 CST):
  • Dial: sip:888@conference.freeswitch.org
  • Dial: +1-919-386-9900
  • Click on this link
  • Skype call to: "skypiax5" - you'll be automatically connected (max 20 concurrent users).

Friday, May 28, 2010

Amoocon 2010: Kamailio - SIP Router

For the second year, Amoocon takes place in Rostock, Germany, June 4-6, 2010.

I have two presentation about Kamailio – SIP Router project:

First talk focuses on asynchronous processing capabilities of this SIP server and what is new in latest version:

  • asynchronous TCP
  • asynchronous SIP message processing
  • asynchronous message queues
  • asynchronous TLS
  • new features in 3.0.x and devel versions

The second talk goes through LUA API exported by this SIP server, which allow building new fancy SIP applications without messing with C coding or configuration file language.

More about what is new in upcoming 3.1.0 and LUA API:

If you participate to Amoocon event and want to meet, drop an email to miconda [at] gmail.com.

Thursday, May 27, 2010

Kamailio v3.0.2 Released

Kamailio v3.0.2 is out – a minor release including fixes in code and documentation since v3.0.1 – configuration file and database compatibility is preserved…

Kamailio (OpenSER) 3.0.2 is based on the latest version of GIT branch 3.0, therefore those running 3.0.0 or 3.0.1 are advised to upgrade — there is no change required to be done to configuration file or database.

Source tarballs are available at:

http://www.kamailio.org/pub/kamailio/3.0.2/src/

Detailed changelog:

http://www.kamailio.org/pub/kamailio/3.0.2/ChangeLog

Download via GIT:

# git clone –depth 1 git://git.sip-router.org/sip-router kamailio
# cd kamailio
# git checkout -b kamailio_3.0 origin/kamailio_3.0

Binaries and packages will be uploaded at:

http://www.kamailio.org/pub/kamailio/3.0.2/

Modules’ documentation:

http://www.kamailio.org/docs/modules/3.0.x/

What is new in 3.0.x release series is summarized in the announcement of v3.0.0:

http://www.kamailio.org/w/kamailio-openser-v3.0.0-release-notes/

If you are eager to see what’s up to next major release (v3.1.0), visit:

http://sip-router.org/wiki/features/new-in-devel

Note: Kamailio is the new name of OpenSER project, name changed on July 28, 2008, due to trademark issues. First version under Kamailio name was 1.4.0. Source code for releases 3.0.0+ is hosted on GIT repository at http://sip-router.org. Older versions will continue to use OpenSER name. Project site and SVN repository on SourceForge.net still use the old name OpenSER.

Tuesday, May 11, 2010

SIP Router Devel Meeting, June 8, 2010, Berlin

The next face to face developer meeting of SIP Router Project (Kamailio (OpenSER) and SIP Express Router (SER)) will take place in Berlin, Germany, on June 8, 2010.

It is an open event, with no participation fee. However, registration is required via email at registration@lists.sip-router.org in order to dimension the meeting place logistics and send you location details. If you plan to attend, please send registration email as soon as possible, no later than June 3.

The meeting gives you the opportunity to meet developers, say your opinions about current state and future development, network with people using the project.

Following developers and community members announced so far the presence to this event:

Among topics to be discussed:

  • new features in development version
  • next steps in Kamailio – SER duplicated modules integration
  • next release roadmap – time lines and goals
  • project management and resources

Feel free to propose topics via email to sr-dev@lists.sip-router.org.

Note that the days before, Amoocon 2010 takes place in Rostock, Germany, and SIP Router project is present with two presentations about Asynchronous SIP Processing and Doing SIP Routing in Lua.

The days after the devel meeting, LinuxTag 2010 takes place in Berlin, where our project has a presentation about Distributed VoIP platforms and a stand for the entire duration of this event – 4 days – come and visit us at LinuxTag!

For USA, there is a plan to schedule a social networking event on June 22, tied to Advanced Training for Carriers – if you are interested to join the event in Miami, please send an email to registration@lists.sip-router.org.

Sunday, May 9, 2010

Testing at SIPit 26

The 26th SIP Interoperability Test event takes place in Kista (north of Stockholm), Sweden, May 17-21, 2010.

Kamailio – SIP Router Project will participate, part of project’s goals to provide a stable and compliant SIP server implementation.

If you want to meet there, schedule some tests together, contact me, Daniel-Constantin Mierla per email at: miconda [at] gmail.com.

There are lot of things which we are interested to test:

  • IPv6
  • TCP (asynchronous communication for massive TCP SIP traffic)
  • TLS secure communication
  • SCTP
  • SIMPLE instant messaging and presence
  • you named it, we should support it (no RTP handling though)

Saturday, May 8, 2010

Kamailio 3.0.x - DYK-10 - xml processing

XML Processing in config file

See also: Kamailio 3.0.x - DYK - Table of Content

SIMPLE Presence usage increases constantly over the past years, therefore the number of XML documents flowing around is bigger and bigger. The demand of routing this SIP traffic based on content is one of the reasons Kamailio 3.0.0 added new class of pseudo-variables in config file to help with XML processing:

If you get an XML document, say in a PUBLISH, like:
     <?xml version="1.0" encoding="UTF-8"?>
<presence xmlns="urn:ietf:params:xml:ns:pidf"
entity="pres:presentity@example.com">
<tuple id="efeef223">
<status>
<basic>open</basic>
</status>
<timestamp>2003-02-01T19:15:15Z</timestamp>
</tuple>
</presence>

to get the status, then you can do:
$xml(x=>doc) = $rb;
if($xml(x=>xpath:/presence/tuple/status/basic/text())=="open")
{
# specific handling for online status
...
}
You can change the content as well:
$xml(x=>xpath:/presence/tuple/timestamp) = "2010-05-09T11:25:25Z";
Practically you can do what any XPATH operation over the XML document.

Wednesday, May 5, 2010

SIP Communicator - amazing SIP softphone

I am not a big user of Java, being a C coder, but now you have it everywhere not matter you want it or not, tied to Open Office, Mac OS X or web browsers. However, these days makes sense to install Java just to run SIP Communicator (SC), it is an amazing features rich SIP softphone, besides the fact is open source. Also, since we talk about Java, is cross platform application, you can run it on Windows, Linux or Mac OS X.

At FOSDEM 2010 I got an update about latest version from its creator, Emil Ivov, yet again nice surprises. His talk at the event was about Skype-like conference calls and yes, it is something very useful. While being in a conference call via SIP, it is very often I have no idea who is speaking. I have to memorize and map to names the voice stamps in order to make a remark addressing by name to who is speaking.

Latest SIP Communicator brings audio levels indications for each participants -- it is able to host audio conferences, acting as mixer, furthermore nicely letting you know who is speaking and his/her voice volume, thus making easier to distinguish when many people speak at the same time - what skype had for long time. All together make SC a perfect solution for any kind of enterprises or residential users.

Here is a relevant screenshot:


See more screenshots here.

Based on this neat features, we started a joint project with SIP Express Media Server (SEMS) to implement similar audio mixer (in SEMS) and presence agent (in Kamailio) for centralized conferencing system -- all to be coded over summer within GSoC 2010 program.

SC, besides supporting SIP, can be used as client for other protocols such as XMPP/Jabber/GTalk, AIM/ICQ, MSN, Yahoo! Messenger, Bonjour, IRC, RSS.

Regarding SIP and real time communication, among features:
  • multiple SIP accounts
  • audio and video calling
  • instant messaging and presence
  • IPv4 and IPv6; UDP, TCP and TLS
  • zRTP and OTR encryption for instant messaging chats
  • call on hold, call transfer, ...
  • multiparty audio conferencing (conference mixer, 3 or more participants), with audio level indication
  • STUN, SIP INFO DTMF
  • desktop sharing
  • file transfer
  • internationalization - English, German, French, Japanese, Spanish, Italian, ...
You can watch the SIP Communicator presentation at FOSDEM 2010 on YouTube. The slides are available in PDF format here.

SIP Communicator is a very dynamic project, with many developers, one of the best choices out there if you need extensions. Sure it gets my recommendation for a SIP softphone to be used in daily manner. Read more about on project's site:

Moved: SIP Communicator - amazing SIP softphone

This post was published initially with a a typo in the URL. blogger.com does not offer any tool to change the URL after first time publish, therefore the post was moved to a new page.

Click here to get to the SIP Communicator post.

Btw, reading the help pages for posts URLs, I really find it ugly solution to publish first your post with the title including only the words you want in URL (which becomes permalink, forever) and then edit again the title to what you want as title. Com'on G!, you can do a bit better here!

Saturday, May 1, 2010

Kamailio 3.0.x - DYK-09 - cancel and invite

Access INVITE attributes while processing the CANCEL

See also: Kamailio 3.0.x - DYK - Table of Content

Another enhancements brought by Kamailio 3.0.0 is the possibility of accessing the attributes of INVITE while processing the CANCEL. By loading the tmx module, you can use in your config file the pseudo-variable $T_inv(pv).

Instead of returning the values of pseudo-variables bound to CANCEL, $T_inv(pv) will return the value of pseudo-variables bound to INVITE. For example:

$T_inv($si) returns the source IP of INVITE, therefore checking if the CANCEL comes from same IP address as INVITE is:
if (is_method("CANCEL"))
{
if (t_check_trans())
{
$var(ip) = $T_inv($si);
if($si != $var(ip))
{
send_reply("403", "CANCEL from a different IP than INVITE");
exit;
}
t_relay();
}
exit;
}