On Mon, 9 Aug 2010, Kathryn Jones wrote:

I have been working on this for a while today, and still no luck. This is my 
script:

#!/usr/bin/php
<?php
$errno=0;
$errstr=0;
$fp = fsockopen ("localhost",5038,$errno,$errstr,20);
if (!$fp) {
        echo "$errstr ($errno)<br>\n";
} else {

         fputs($fp, "Action: Login\r\n");
         fputs($fp, "Username: xxxx\r\n");
         fputs($fp, "Secret: xxxx\r\n");
         fputs($fp, "Events: off\r\n");
        sleep(1);
         fputs($fp, "Action: Originate\r\n");
         fputs($fp, "Channel: SIP/trunk/1DIDNumber\r\n");
         fputs($fp, "Context: CallContext\r\n\r\n");
         fputs($fp, "Exten: NumberToCall\r\n");
         fputs($fp, "Priority: 1\r\n");
         fputs($fp, "Timeout: 30000\r\n");
        sleep(2);
        fclose($fp);
}
?>

It seems simple enough, And I have no compilation errors. This is my output:

 -- Launched AGI Script /var/lib/asterisk/agi-bin/MyScript.php
<SIP/xx.xx.xxx.xx-00000111>AGI Tx >> agi_request: MyScript.php
<SIP/xx.xx.xxx.xx-00000111>AGI Tx >> agi_channel: SIP/xx.xx.xxx.xx-00000111
<SIP/xx.xx.xxx.xx-00000111>AGI Tx >> agi_language: en
<SIP/xx.xx.xxx.xx-00000111>AGI Tx >> agi_type: SIP
<SIP/xx.xx.xxx.xx-00000111>AGI Tx >> agi_uniqueid: 1281390000.000
<SIP/xx.xx.xxx.xx-00000111>AGI Tx >> agi_version: 1.6.2.6
<SIP/xx.xx.xxx.xx-00000111>AGI Tx >> agi_callerid: 1PhoneThatCalled The DID
<SIP/xx.xx.xxx.xx-00000111>AGI Tx >> agi_calleridname: unknown
<SIP/xx.xx.xxx.xx-00000111>AGI Tx >> agi_callingpres: 0
<SIP/xx.xx.xxx.xx-00000111>AGI Tx >> agi_callingani2: 0
<SIP/xx.xx.xxx.xx-00000111>AGI Tx >> agi_callington: 0
<SIP/xx.xx.xxx.xx-00000111>AGI Tx >> agi_callingtns: 0
<SIP/xx.xx.xxx.xx-00000111>AGI Tx >> agi_dnid: IncomingExt
<SIP/xx.xx.xxx.xx-00000111>AGI Tx >> agi_rdnis: unknown
<SIP/xx.xx.xxx.xx-00000111>AGI Tx >> agi_context: default
<SIP/xx.xx.xxx.xx-00000111>AGI Tx >> agi_extension: incomingExt
<SIP/xx.xx.xxx.xx-00000111>AGI Tx >> agi_priority: 3
<SIP/xx.xx.xxx.xx-00000111>AGI Tx >> agi_enhanced: 0.0
<SIP/xx.xx.xxx.xx-00000111>AGI Tx >> agi_accountcode:
<SIP/xx.xx.xxx.xx-00000111>AGI Tx >> agi_threadid: -1237000000
<SIP/xx.xx.xxx.xx-00000111>AGI Tx >>
  == Manager 'Man' logged on from 127.0.0.1
  == Manager 'Man' logged off from 127.0.0.1
<SIP/xx.xx.xxx.xx-00000111>AGI Rx <<
<SIP/xx.xx.xxx.xx-00000111>AGI Tx >> 510 Invalid or unknown command
[Aug  9 17:44:10] ERROR[25594]: utils.c:1128 ast_carefulwrite: write() returned 
error: Broken pipe
[Aug  9 17:44:10] ERROR[25594]: utils.c:1128 ast_carefulwrite: write() returned 
error: Broken pipe
    -- <SIP/xx.xx.xxx.xx-00000111>AGI Script MyScript.php completed, returning 0

Could someone please point me in the right direction?

This is not an AGI, this is an AMI :)

AGI is a protocol where Asterisk creates a process and sends it the "AGI environment" (all the "AGI Tx >> agi_xxx" cruft above") and then waits for your process to issue requests and read responses. This "request, response" is repeated as your process completes it's tasks and exits.

Are you expecting your script to execute within the "context" of a channel within Asterisk or as a process external to Asterisk?

I read your original request:

I want to connect an open call with an extension. I call in with a DID, them redirect to the extension using AGI. Can I use agi's originate to make the second call without dropping the first DID call? How would I go about this?

as "I call in, I execute an AGI that looks up an extension based on some criteria, I want to dial that extension."

If this is close, the AGI should set a channel variable with the value of the extension and exit. Your dialplan would look something like:

        exten = my-did,1,               verbose(${ext...@${context})
        exten = my-did,n,               agi(lookup-extension)
        exten = my-did,n,               dial{${LOOKED-UP-EXTENSION})
        exten = my-did,n,               hangup()

--
Thanks in advance,
-------------------------------------------------------------------------
Steve Edwards       sedwa...@sedwards.com      Voice: +1-760-468-3867 PST
Newline                                              Fax: +1-760-731-3000
-- 
_____________________________________________________________________
-- Bandwidth and Colocation Provided by http://www.api-digital.com --
New to Asterisk? Join us for a live introductory webinar every Thurs:
               http://www.asterisk.org/hello

asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-users

Reply via email to