<?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>IVR World &#187; dialogic board</title>
	<atom:link href="http://www.ivrsworld.com/tag/dialogic-board/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.ivrsworld.com</link>
	<description>IVR, Interactive Voice Response System, CTI Applications</description>
	<lastBuildDate>Fri, 10 Feb 2012 09:25:15 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Detecting Caller ID on Dialogic D4/PCI Analog card</title>
		<link>http://www.ivrsworld.com/cti-cards/detecting-caller-id-on-dialogic-d4pci-analog-card/</link>
		<comments>http://www.ivrsworld.com/cti-cards/detecting-caller-id-on-dialogic-d4pci-analog-card/#comments</comments>
		<pubDate>Sat, 23 Jan 2010 07:52:17 +0000</pubDate>
		<dc:creator>Uttam Pegu</dc:creator>
				<category><![CDATA[CTI cards]]></category>
		<category><![CDATA[Dialogic Tip]]></category>
		<category><![CDATA[caller id]]></category>
		<category><![CDATA[cti analog card]]></category>
		<category><![CDATA[d4/pci]]></category>
		<category><![CDATA[dalogic]]></category>
		<category><![CDATA[dialogic board]]></category>
		<category><![CDATA[dialogic cti]]></category>
		<category><![CDATA[digium analog cards]]></category>
		<category><![CDATA[Donjin]]></category>
		<category><![CDATA[DTMF]]></category>
		<category><![CDATA[ring cadence]]></category>
		<category><![CDATA[ringing]]></category>
		<category><![CDATA[ringing cadence]]></category>

		<guid isPermaLink="false">http://www.ivrsworld.com/?p=1215</guid>
		<description><![CDATA[I keep getting mails by various people about detecting caller id using D4PCI and Dialogic API. I remember I too had to try hard once and finally contacted Dialogic support for getting ideas how caller ID could be detected using D4/PCI analog CTI board from Dialogic. I think the same procedure should work for Donjin [...]]]></description>
			<content:encoded><![CDATA[<p></p><p>I keep getting mails by various people about detecting caller id using D4PCI and Dialogic API. I remember I too had to try hard once and finally contacted Dialogic support for getting ideas how caller ID could be detected using D4/PCI analog CTI board from Dialogic. I think the same procedure should work for Donjin Analog boards as well as any kind of Analog CTI boards, for that matter.</p>
<p><strong>So the steps for detecting Caller ID in D4PCI board is :</strong></p>
<p>1. As soon as you detect RINGING, <strong>do not connect or answer the call</strong>. But start detecting digit using appropriate API function. For example dx_getdig();</p>
<p>2. Important part is the settings in DV_TPT structure which is used in dx_getdig() function. Here is how I have been configuring:<br />
<span id="more-1215"></span>
<ul>
<li>End of DX_MAXDTMF should be configured to be length of expected Caller ID length. </li>
<li>DX_MAXTIME should be configured to be delay between two rings.</li>
<li>Since DTMF digits for Caller ID are sent together quickly by the <a href="http://www.pabx.in">PBX</a>, one may take advantage of the option DX_IDDTIME ( Inter-digit Pause).</li>
</ul>
<p>3. As soon as one comes out of from dx_getdig() function either because of DX_MAXDTMF,DX_MAXTIME or DX_IDDTIME, one should check if Caller ID is detected or not!</p>
<p>So these are the three simple steps for detecting Caller ID using D4PCI board. Here is the C++ code snippet:-</p>
<blockquote><p>DV_TPT tpt[4];</p>
<p>       // Allocate memory<br />
       memset( tpt, 0, (sizeof( DV_TPT ) * 3) );</p>
<p>	/* Terminate GetDigits on Receiving MAXDTMF Digits, Interdigit Pause and MAxrime */<br />
	tpt[ 0 ].tp_type   = IO_CONT;<br />
	tpt[ 0 ].tp_termno = DX_MAXDTMF;<br />
	//tpt[ 0 ].tp_length = MAXDTMF;<br />
	tpt[ 0 ].tp_length = digits;  // Number of digits of expected caller ID<br />
	tpt[ 0 ].tp_flags  = TF_MAXDTMF;</p>
<p>         // Terminate dx_getdig function after 3 second Interdigit pause<br />
	tpt[ 1 ].tp_type   = IO_CONT;<br />
	tpt[ 1 ].tp_termno = DX_IDDTIME;<br />
	tpt[ 1 ].tp_length = 30;   // Gap in betwwen digits<br />
	tpt[ 1 ].tp_flags  = TF_IDDTIME;</p>
<p>		/* Terminate GetDigits after 8 Seconds */<br />
	tpt[ 2 ].tp_type   = IO_EOT;<br />
	tpt[ 2 ].tp_termno = DX_MAXTIME;<br />
	tpt[ 2 ].tp_length = 80; // Maximum time<br />
	tpt[ 2 ].tp_flags  = TF_MAXTIME;</p>
<p>	if (dx_getdig( voiceh_handle, tpt, &#038;(dtbuf),(unsigned short)ASYNC ) == -1 )<br />
        {<br />
		printf(&#8220;getdtmfs return 0x%X\n&#8221;, ATDV_LASTERR(pline->voiceh));</p>
<p>	}</p></blockquote>
<p>So here are few facts I have realised:-</p>
<p>1. D4PCI board ( or any analog board in that matter ) may not detect caller ID all the time completely (all the digits) all the time. It has nothing to do with the Dialogic CTI board though. The reason can be explained as below :</p>
<p>     Normally, caller ID is presented in the form of <a href="http://en.wikipedia.org/wiki/Dual-tone_multi-frequency">DTMF</a> ( Dual Tone Multiple Frequency)  digits after the first ring and before the second ring.</p>
<p>      I have observed that, some times, analog board fails to detect the first ring and detects the ring from the second ring only. It this case, any CTI application would miss the caller ID completely. Some other times, the analog board (D4PCI or equivalent analog CTI boards) would detect the ring at the end of first ring cadence which may result in missing first few caller ID digits.</p>
<p>  So, detecting caller id perfectly using analog board may depend on PBX being used. If any one knows any better technique, it will be great to share here.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ivrsworld.com/cti-cards/detecting-caller-id-on-dialogic-d4pci-analog-card/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

