<?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>Guax &#187; Telephony</title>
	<atom:link href="http://www.guax.net/tag/telephony/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.guax.net/blog</link>
	<description>“…is like having your brains smashed out by a slice of lemon wrapped round a large gold brick.”</description>
	<lastBuildDate>Sun, 22 May 2011 14:22:34 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.2</generator>
		<item>
		<title>Nossos Medidores Apontam Um Elevado Nível De Gambiarra</title>
		<link>http://www.guax.net/blog/2010/06/nossos-medidores-apontam-um-elevado-nivel-de-gambiarra/</link>
		<comments>http://www.guax.net/blog/2010/06/nossos-medidores-apontam-um-elevado-nivel-de-gambiarra/#comments</comments>
		<pubDate>Fri, 04 Jun 2010 12:44:14 +0000</pubDate>
		<dc:creator>guax</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[asterisk]]></category>
		<category><![CDATA[fail]]></category>
		<category><![CDATA[gambiarra]]></category>
		<category><![CDATA[haha]]></category>
		<category><![CDATA[POGD]]></category>
		<category><![CDATA[Telephony]]></category>

		<guid isPermaLink="false">http://www.guax.net/?p=393</guid>
		<description><![CDATA[Uma transferência assistida no Asterisk gera os seguintes canais e links. newchannel: SIP/192.168.10.252-00000008 newchannel: SIP/1001-00000009 link: SIP/192.168.10.252-00000008 - SIP/1001-00000009 unlink: SIP/192.168.10.252-00000008 - SIP/1001-00000009 link: SIP/192.168.10.252-00000008 - SIP/1001-00000009 unlink: SIP/192.168.10.252-00000008 - SIP/1001-00000009 link: SIP/192.168.10.252-00000008 - SIP/1001-00000009 unlink: SIP/192.168.10.252-00000008 - SIP/1001-00000009 link: SIP/192.168.10.252-00000008 - SIP/1001-00000009 unlink: SIP/192.168.10.252-00000008 - SIP/1001-00000009 newchannel: Local/1002@transferencias-aaa8,1 newchannel: Local/1002@transferencias-aaa8,2 newchannel: SIP/1002-0000000a link: Local/1002@transferencias-aaa8,2 [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Uma</strong> transferência assistida no Asterisk gera os seguintes canais e links.</p>
<pre>
newchannel: SIP/192.168.10.252-00000008
newchannel: SIP/1001-00000009
link: SIP/192.168.10.252-00000008 - SIP/1001-00000009
unlink: SIP/192.168.10.252-00000008 - SIP/1001-00000009
link: SIP/192.168.10.252-00000008 - SIP/1001-00000009
unlink: SIP/192.168.10.252-00000008 - SIP/1001-00000009
link: SIP/192.168.10.252-00000008 - SIP/1001-00000009
unlink: SIP/192.168.10.252-00000008 - SIP/1001-00000009
link: SIP/192.168.10.252-00000008 - SIP/1001-00000009
unlink: SIP/192.168.10.252-00000008 - SIP/1001-00000009
newchannel: Local/1002@transferencias-aaa8,1
newchannel: Local/1002@transferencias-aaa8,2
newchannel: SIP/1002-0000000a
link: Local/1002@transferencias-aaa8,2 - SIP/1002-0000000a
link: SIP/1001-00000009 - Local/1002@transferencias-aaa8,1
unlink: SIP/1001-00000009 - Local/1002@transferencias-aaa8,1
link: SIP/1001-00000009 - Local/1002@transferencias-aaa8,1
unlink: Local/1002@transferencias-aaa8,2 - Local/1002@transferencias-aaa8,1<ZOMBIE>
hangup: Local/1002@transferencias-aaa8,1<ZOMBIE>
hangup: Local/1002@transferencias-aaa8,2
unlink: SIP/1001-00000009 - SIP/1002-0000000a
newchannel: Transfered/SIP/192.168.10.252-00000008
link: SIP/192.168.10.252-00000008 - SIP/1002-0000000a
hangup: SIP/1001-00000009
hangup: Transfered/SIP/192.168.10.252-00000008<ZOMBIE>
unlink: SIP/192.168.10.252-00000008 - SIP/1002-0000000a
hangup: SIP/1002-0000000a
hangup: SIP/192.168.10.252-00000008
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.guax.net/blog/2010/06/nossos-medidores-apontam-um-elevado-nivel-de-gambiarra/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Call Flow Diagram</title>
		<link>http://www.guax.net/blog/2009/10/call-flow-diagram/</link>
		<comments>http://www.guax.net/blog/2009/10/call-flow-diagram/#comments</comments>
		<pubDate>Mon, 12 Oct 2009 00:59:15 +0000</pubDate>
		<dc:creator>guax</dc:creator>
				<category><![CDATA[Telephony]]></category>
		<category><![CDATA[asterisk]]></category>
		<category><![CDATA[cdr]]></category>
		<category><![CDATA[desenvolvimento]]></category>

		<guid isPermaLink="false">http://www.guax.net/?p=185</guid>
		<description><![CDATA[I was trying to define what information was relevant in a implementation of a Call Detail Record (CDR). Then i realized i need to represent all the possible scenarios a call can perform inside a PBX, so i can determine the relevant data i should store to make reports and even what pieces of the [...]]]></description>
			<content:encoded><![CDATA[<p>I was trying to define what information was relevant in a implementation of a Call Detail Record (CDR). Then i realized i need to represent all the possible scenarios a call can perform inside a PBX, so i can determine the relevant data i should store to make reports and even what pieces of the call must be recorded.</p>
<p>I searched for a diagram that could represent the call flow in a more intuitive way. I didn’t found something that was easy and clear enough for me. So i sketched some small diagrams and developed the following diagram structure that i will use on my documentation about telephony. I am still accepting better suggestions about representing calls in a more clear way.</p>
<p><strong>update:</strong> why? Sometimes we need to draw things to our boss and clients to understand, people usually don&#8217;t have the same data abstraction skills that you have on seeing a lot of CDR&#8217;s rows and messages as audio streams flowing through dialplan logic. I had a good experience to explain what happened to calls using this. So i&#8217;m sharing. =)</p>
<h2>Basic Call Representation</h2>
<p>The first call we can represent is the most basic and common case on telephony. A calls B and that’s everything that happens.</p>
<div id="attachment_191" class="wp-caption aligncenter" style="width: 250px"><a href="http://www.guax.net/wp-content/uploads/2009/10/simple.png"><img class="size-full wp-image-191" title="Simple Call" src="http://www.guax.net/wp-content/uploads/2009/10/simple.png" alt="A simple call that connects A to B" width="240" height="80" /></a><p class="wp-caption-text">A simple call that connects A to B</p></div>
<p>As you see those two elements represent communication end-points that we can say are physical channels that comes and goes out from the PBX. Could represent a persons phone or a PSTN or a trunk with another PBX.</p>
<p>The number on the connection line determinate the order the calls were placed on the system. So we can use a dashed line to represent calls that were not answered by our called party (B). By now we have the basic call redirection scenario where the first destination does not answer so the call is made with C instead of B.</p>
<div id="attachment_193" class="wp-caption aligncenter" style="width: 250px"><a href="http://www.guax.net/wp-content/uploads/2009/10/sequence.png"><img class="size-full wp-image-193" title="Sequence" src="http://www.guax.net/wp-content/uploads/2009/10/sequence.png" alt="Sequence" width="240" height="160" /></a><p class="wp-caption-text">B don&#39;t answer and the call overflowed to C</p></div>
<p>Another way a call can walk between end-points is when one of these points transfer its party. When this happens we need to keep track of who made the transfer. That is represented by the curved arrow that shows who transfer to who and in what moment.</p>
<div id="attachment_198" class="wp-caption aligncenter" style="width: 350px"><a href="http://www.guax.net/wp-content/uploads/2009/10/xfer.png"><img class="size-full wp-image-198" title="Transfer" src="http://www.guax.net/wp-content/uploads/2009/10/xfer.png" alt="B transfer A to C." width="340" height="150" /></a><p class="wp-caption-text">B transfer A to C.</p></div>
<p>Note that transfer can make a communication channel as well between B and C during the transfer operation, the <strong>attended transfer.</strong> In this cases you can represent it textually, since most of people don&#8217;t care about that conversation.</p>
<p>Not all the times calls fallow an specific order. We have situations where many end-points are talking in the same time in the same call, in a conference for example. Conferences are the most common way to unite two calls that starts independently and when it appear in complex scenarios we will need a more complete way to represent the time sequence of call placing, but i will let this for later work. For now we can just represent the connections on a special element and say that all the connections happened at the same time.</p>
<div id="attachment_196" class="wp-caption aligncenter" style="width: 250px"><a href="http://www.guax.net/wp-content/uploads/2009/10/conference.png"><img class="size-full wp-image-196" title="Conference" src="http://www.guax.net/wp-content/uploads/2009/10/conference.png" alt="A conference between A, B, C and N more end-points." width="240" height="240" /></a><p class="wp-caption-text">A conference between A, B, C and N more end-points.</p></div>
<h2>Applications and Contextualization</h2>
<p>PBX&#8217;s are known for give some intelligence in call routing. This is the ability to use applications that apply one specific logic on the calls. These can be queues, call groups or even the Interactive Voice Response systems (IVR&#8217;s). The main difference between them is that some may answer the call and make data transmission to the connection party. When the application answer the call is easy to represent it as and special end-point, as we did with conferences. When just routing is involved we need to contextualize a group of calls in the scenario so we can determine the actions taken by the app. We can see those two cases in the next diagram.</p>
<div id="attachment_200" class="wp-caption aligncenter" style="width: 350px"><a href="http://www.guax.net/wp-content/uploads/2009/10/contextualization.png"><img class="size-full wp-image-200" title="Contextualization" src="http://www.guax.net/wp-content/uploads/2009/10/contextualization.png" alt="Contextualization" width="340" height="270" /></a><p class="wp-caption-text">Call Contexts</p></div>
<h2>Approach Issues</h2>
<p>One concern i have with this representation is that it could be a little confuse in a first moment about how the call flowed. I didn&#8217;t made the diagram in a standard way by considering that i am not taking a peer point of view, but the macro view of the call flow. In a simpler approach it would be ignored for example in a conference what was the path taken by the other participants, since the most common way to someone to get into a conference is to be transfered to the number that represents it.</p>
<p>I understand some misconceptions can happen since i am trying to represent something that is dynamic in a static view which is the call states along a time period. A snapshot of the PBX in any moment will only show a simple call.</p>
<p>PS. English corrections will be appreciated.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.guax.net/blog/2009/10/call-flow-diagram/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

