Hi Guys,<div><br></div><div>I am trying to make a web form where a person is allowed to put in $phoneNumber, $dialNumber, and $spoofNumber to make a call with spoof caller ID. There are a few problems that I am facing with Asterisk AMI Originate command. The reason why I want to use the darn AMI Originate is because I am sending calls to mobile phones and I want to have some accountability and to know if a call was connected for billing purposes or not. Calls go to PSTN through SIP provider so all signaling is available.</div>
<div><br></div><div>First, if i use AMI Originate to dial both parties with the set CallerID then, one party may pick up than the other and channel is not bridged at ringing. So, this can confuse the callee. So, I thought I should send calls to a context first and then ask customer enter $spoofNumber and then place call but then I am facing another problem. Using that, the internal context is called first and all announcements are made and then the SIP/sipProvider/$phoneNumb is dialed. Or at least it&#39;s dialed at the same time but since it takes time to pick ones phone context already goes over it&#39;s announcement for putting in spoof number and dialnumber. Please guide me how to do this properly. Following is the code and the context:</div>
<div><br></div><div><div>$sys_ip = &quot;127.0.0.1&quot;;</div><div>$User_str = &quot;test&quot;;</div><div>$Secret_str = &quot;test&quot;;</div><div>$phoneNumb = &quot;14167777777&quot;;</div><div>$dialNumb = &quot;14168888888&quot;;</div>
<div>$spoofNumb = &quot;1416999999&quot;;</div></div><div><div>$oSocket = fsockopen($sys_ip, 5038, $errnum, $errdesc) or die(&quot;Connection to host failed&quot;);</div><div><br></div><div>fputs($oSocket, &quot;Action: login\r\n&quot;);</div>
<div>fputs($oSocket, &quot;Username: $User_str\r\n&quot;);</div><div>fputs($oSocket, &quot;Secret: $Secret_str\r\n\r\n&quot;);</div><div>fputs($oSocket, &quot;Events: off\r\n\r\n&quot;);</div><div>fputs($oSocket, &quot;Action: originate\r\n&quot;);</div>
<div>fputs($oSocket, &quot;Channel: SIP/testTrunk/$phoneNumb\r\n&quot;);</div><div>fputs($oSocket, &quot;Exten: $dialNumb\r\n&quot;);</div><div>fputs($oSocket, &quot;Context: testphp\r\n&quot;);</div><div>fputs($oSocket, &quot;Priority: 1\r\n\r\n&quot;);</div>
<div>fputs($oSocket, &quot;Timeout: 10000\r\n&quot;);</div><div>fputs($oSocket, &quot;CallerId: $spoofNumb\r\n&quot;);</div><div>fputs($oSocket, &quot;Async: true\r\n&quot;);</div><div>fputs($oSocket, &quot;Action: Logoff\r\n\r\n&quot;);</div>
<div><br></div><div>fclose($oSocket);</div></div><div><br></div><div><br></div><div>/etc/asterisk/extensions.conf</div><div><div>[testphp]</div><div>exten =&gt; _X.,1,Answer()</div><div>exten =&gt; _X.,n,Playback(/var/lib/asterisk/sounds/please_enter_dialnumber_and_spoof_callerid)</div>
<div>exten =&gt; _X.,n,Read(dialnumber,,10)</div><div>exten =&gt; _X.,n,Read(spoofnumber,,10)</div><div>exten =&gt; _X.,n,Playback(connecting_now)</div><div>exten =&gt; _X.,n,Dial(SIP/testTrunk/$dialNumb)</div><div>exten =&gt; _X.,n,Hangup()</div>
<div><br></div><div>Thanks a lot.</div></div>