<font style="font-family: Arial, Helvetica, sans-serif; font-size: 10pt"><p class="MsoNormal"><strong>Outbound Fix Solution</strong></p>

<p class="MsoNormal">This is an easy fix</p>

<p class="MsoNormal">Currently Vtiger connector is sending the AMI the following</p>

<p class="MsoNormal">Action: Originate<br><span style="font-size: 10pt;">Channel: {CRM Phone Extension from My Preferences}<br></span><span style="font-size: 10pt;">Context: {Context from PBX Manager Settings}<br></span><span style="font-size: 10pt;">Exten: {CRM Phone Extension from My Preferences}<br></span><span style="font-size: 10pt;">CallerID: {Number Clicked On}</span></p>

<p class="MsoNormal">This should be changed to </p>

<p class="MsoNormal">Action: Originate<br><span style="font-size: 10pt;">Channel: {CRM Phone Extension from My Preferences}<br></span><span style="font-size: 10pt;">Context: {Context from PBX Manager Settings}<br></span><span style="font-size: 10pt;">Exten: {Number Clicked On}<br></span><span style="font-size: 10pt;">CallerID: "Calling" & {Number Clicked On} & "from
Vtiger"<br></span><span style="font-size: 10pt;">Priority: 1<br></span><span style="font-size: 10pt;">Timeout: 30000<br></span><span style="font-size: 10pt;">Variable: var1=23|var2=24|var3=25<br></span><span style="font-size: 10pt;">ActionID: {optional for error handling}</span></p>

<p class="MsoNormal">*** actionID can be any unique ID so you can track the
response in AMI for error handling</p>

<p class="MsoNormal"><o:p> </o:p></p>

<p class="MsoNormal"><strong>Inbound Solution</strong></p>

<p class="MsoNormal">This is a possible solution, modeled after how all the tapi drivers'
and other means of monitoring for incoming work, I am not sure why AGI was used
to attempt this while it certainly a feasible solution but vtiger is not making
IVR's or other "interactive" functions so the use of AGI is turning a hill into
a mountain if you ask me. with that said, I will start looking into AGI solutions
if vtiger does not take my advice here</p>

<p class="MsoNormal"><o:p> </o:p></p>

<p class="MsoNormal">1<sup>st</sup> Connector should open an open ended session
to the AMI, we already know from webapp.ah data stream that vtiger developers
have a working AMI parser so use it and start listening, always look for
anything starts with "Connection closed" and reconnect </p>

<p class="MsoNormal">2<sup>nd</sup> Radio buttons should be added to my preferences
near CRM Phone Extension for {POP Prefrence}</p>

<p class="MsoListParagraphCxSpFirst" style="text-indent:-.25in;mso-list:l0 level1 lfo1"><!--[if !supportLists]-->1.   1<span style="font-size: 10pt; text-indent: -0.25in;">.)</span><span style="text-indent: -0.25in; font-size: 7pt; font-family: 'Times New Roman';">   </span><span style="font-size: 7pt; font-family: 'Times New Roman';"> </span><!--[endif]-->Do not pop incoming<br><span style="text-indent: -0.25in; font-size: 10pt;">2.)</span><span style="text-indent: -0.25in; font-size: 7pt; font-family: 'Times New Roman';">   
</span><span style="text-indent: -0.25in; font-size: 10pt;">Pop on Ring<br></span><span style="text-indent: -0.25in; font-size: 10pt;">3.)</span><span style="text-indent: -0.25in; font-size: 7pt; font-family: 'Times New Roman';">   
</span><span style="text-indent: -0.25in; font-size: 10pt;">Pop on Answer</span></p>

<p class="MsoNormal"><o:p> </o:p></p>

<p class="MsoNormal">Each vtiger user logged in should have open session to the vtiger
connector, {CRM Phone Extension} and {POP Preference} should be passed to the
vtiger connector </p>

<p class="MsoNormal">The vtiger connector should look for "Event: Newstate"</p>

<p class="MsoNormal">Once a Newstate packet has been received we need to inspect
it</p>

<p class="MsoNormal">If "ChannelState: 5" then we need to check if "CallerIDNum:
XXX" is logged in and wants POP on Ring, if so send "ConnectedLineNum: XXXXXXXXX"
the calling phone number and "ConnectedLineName: XXXXXXXXXXX" the callerID Name
to the user session to POP</p>

<p class="MsoNormal">If "ChannelState: 6" then we need to check if "ConnectedLineNum:
XXX" is logged in and wants POP on Answer, if so send "CallerIDNum: XXXXXXXX"
the calling phone number and "CallerIDName: XXXXXXXXX" the caller ID name</p>

<p class="MsoNormal">**** the above is not a mistake, the inbound caller ID and
name and the Internal Extension are swapped depending on channel state</p>

<p class="MsoNormal"><o:p> </o:p></p>

<p class="MsoNormal">If you want to get fancy with it you could listen for "Event:
Hangup" pull "CallerIDNum: XXX" and if XXX is logged in send command to exit
the pop if currently poped. the was answered or has ended, you can further use "cause:
XX" find out the reason, I would stay away from 26 aka answered elsewhere, you
only get this response if Ext rang out of a queue and mark answered elsewhere
is enabled on that queue, just the fact that the call ended to the extension in
question should be enouph to kill the pop if it is displaying</p>

<p class="MsoNormal">Weather you do the above or not it would be a good idea to
add POP counter in the my preferences, on pop a timer should count down and
kill the pop when the user defined time has expired, there should also be a
close link on the pop window to manually kill the pop window</p>

<p class="MsoNormal"><o:p> </o:p></p>

<p class="MsoNormal">Why this is written is English quasi sudo code: well the
current vtiger connector is written in java, and although it's a open source
project, they did not include the .java source files, so I am affarid I am not
of any more assistance but given that the connector already has to ability to connect
to the AMI and parses the data stream this should be a relatively easy fix..</p>

<p class="MsoNormal"><o:p> </o:p></p>

<p class="MsoNormal">FYI. the Event "Event: FullyBooted" is always the first
packet you get after a success log in, In your parser you keep logging it as No
event class registered for event type</p>

<p class="MsoNormal">Examples of the events packets I talk about in this document
are </p>

<p class="MsoNormal"><o:p> </o:p></p>

<p class="MsoNormal">Event: Newstate<br><span style="font-size: 10pt;">Privilege: call,all<br></span><span style="font-size: 10pt;">Channel: SIP/102-000004bd<br></span><span style="font-size: 10pt;">ChannelState: 5<br></span><span style="font-size: 10pt;">ChannelStateDesc: Ringing<br></span><span style="font-size: 10pt;">CallerIDNum: 102<br></span><span style="font-size: 10pt;">CallerIDName: Fred<br></span><span style="font-size: 10pt;">ConnectedLineNum: 18032433300<br></span><span style="font-size: 10pt;">ConnectedLineName: Job Matthew<br></span><span style="font-size: 10pt;">Uniqueid: 1407251773.33281</span></p>

<p class="MsoNormal"><o:p> </o:p></p>

<p class="MsoNormal"><span style="font-size: 10pt;">Event: Hangup<br></span><span style="font-size: 10pt;">Privilege: call,all<br></span><span style="font-size: 10pt;">Channel: SIP/106-000004c1<br></span><span style="font-size: 10pt;">Uniqueid: 1407251773.33285<br></span><span style="font-size: 10pt;">CallerIDNum: 106<br></span><span style="font-size: 10pt;">CallerIDName: WorK Room<br></span><span style="font-size: 10pt;">ConnectedLineNum: 18032433300<br></span><span style="font-size: 10pt;">ConnectedLineName: Job Matthew<br></span><span style="font-size: 10pt;">AccountCode:<br></span><span style="font-size: 10pt;">Cause: 26<br></span><span style="font-size: 10pt;">Cause-txt: Answered elsewhere</span></p><p class="MsoNormal"><span style="font-size: 10pt;"><br></span></p>

<p class="MsoNormal"><span style="font-size: 10pt;">Event: Newstate<br></span><span style="font-size: 10pt;">Privilege: call,all<br></span><span style="font-size: 10pt;">Channel: SIP/VoxisSIP-000004bb<br></span><span style="font-size: 10pt;">ChannelState: 6<br></span><span style="font-size: 10pt;">ChannelStateDesc: Up<br></span><span style="font-size: 10pt;">CallerIDNum: 18032433300<br></span><span style="font-size: 10pt;">CallerIDName: Job Matthew<br></span><span style="font-size: 10pt;">ConnectedLineNum: 103<br></span><span style="font-size: 10pt;">ConnectedLineName: Matt<br></span><span style="font-size: 10pt;">Uniqueid: 1407251772.33279</span></p>

<p class="MsoNormal"><o:p> </o:p></p>

<p class="MsoNormal"><o:p> </o:p></p>

<p class="MsoNormal"><o:p>please let me know if you are going to try to implement this or if you are instant on a AGI method, in which case I will try to help you there as well</o:p></p><p class="MsoNormal"><o:p><br></o:p></p><p class="MsoNormal"><o:p><br></o:p></p><p class="MsoNormal"><o:p><br></o:p></p>

<p class="MsoNormal"><o:p> </o:p></p>

<p class="MsoNormal"> </p>

<p class="MsoNormal"><o:p> </o:p></p>

<p class="MsoNormal"><o:p> </o:p></p>

<p class="MsoNormal"> </p>

<p class="MsoNormal"><o:p> </o:p></p>

<p class="MsoNormal"><o:p> </o:p></p>

<p class="MsoNormal"><o:p> </o:p></p>

<p class="MsoNormal"><o:p> </o:p></p>

<p class="MsoNormal"><o:p> </o:p></p>

<p class="MsoNormal"> </p>

<p class="MsoNormal"><o:p> </o:p></p>

<p class="MsoNormal"><o:p> </o:p></p>

<p class="MsoNormal"><o:p> </o:p></p>

<p class="MsoNormal"><o:p> </o:p></p>

<p class="MsoNormal"><o:p> </o:p></p>

<p class="MsoNormal"><o:p> </o:p></p>

<p class="MsoNormal"><o:p> </o:p></p><br><font size="2" face="Tahoma, Arial, Sans-Serif"><hr size="2" width="100%" align="center"><strong>From</strong>: "Zebra Hosting" <support@zebrahosting.eu><br><strong>Sent</strong>: Tuesday, August 05, 2014 5:05 AM<br><strong>To</strong>: "vtigercrm-developers@lists.vtigercrm.com" <vtigercrm-developers@lists.vtigercrm.com><br><strong>Subject</strong>: Re: [Vtigercrm-developers] Asterisk Connector & Asterisk 11</font><br><br>The new version 14176 does not seem to fix the issuesS.<br><br><br>Bastiaan Houtkooper<br>Zebra Hosting<br><br><br>_______________________________________________<br>http://www.vtiger.com/<br><br></font>