Showing posts with label events capture. Show all posts
Showing posts with label events capture. Show all posts

Wednesday, June 2, 2010

Asterisk Events with Timestamp 1.4

The below events is the incoming call to asterisk and Plays a prompt and does a Echo after that.

Event: Newchannel
Privilege: call,all
Timestamp: 1261277764.070399
Channel: SIP/broadvox-0a7bde90
State: Down
CallerIDNum:
CallerIDName:
Uniqueid: 1261277764.44

Event: Newcallerid
Privilege: call,all
Timestamp: 1261277764.070456
Channel: SIP/broadvox-0a7bde90
CallerID:
CallerIDName:
Uniqueid: 1261277764.44
CID-CallingPres: 0 (Presentation Allowed, Not Screened)

Event: Newstate
Privilege: call,all
Timestamp: 1261277765.729062
Channel: SIP/broadvox-0a7bde90
State: Up
CallerID:
CallerIDName:
Uniqueid: 1261277764.44

Event: OriginateResponse
Privilege: call,all
Timestamp: 1261277765.729085
Response: Success
Channel: SIP/broadvox-0a7bde90
Context: broadvoxcontext
Exten: 13038598130
Reason: 4
Uniqueid: 1261277764.44
CallerID:
CallerIDNum:
CallerIDName:

Event: Newexten
Privilege: call,all
Timestamp: 1261277765.729144
Channel: SIP/broadvox-0a7bde90
Context: broadvoxcontext
Extension: 13038598130
Priority: 1
Application: Answer
AppData: 4
Uniqueid: 1261277764.44

Event: Newexten
Privilege: call,all
Timestamp: 1261277765.729187
Channel: SIP/broadvox-0a7bde90
Context: broadvoxcontext
Extension: 13038598130
Priority: 2
Application: Read
AppData: DESTNO|vm-enter-num-to-call
Uniqueid: 1261277764.44

Event: Newexten
Privilege: call,all
Timestamp: 1261277778.705334
Channel: SIP/broadvox-0a7bde90
Context: broadvoxcontext
Extension: 13038598130
Priority: 3
Application: SayDigits
AppData: 12345
Uniqueid: 1261277764.44

Event: Newexten
Privilege: call,all
Timestamp: 1261277781.847347
Channel: SIP/broadvox-0a7bde90
Context: broadvoxcontext
Extension: 13038598130
Priority: 4
Application: Echo
AppData:
Uniqueid: 1261277764.44

Event: Hangup
Privilege: call,all
Timestamp: 1261277785.813339
Channel: SIP/broadvox-0a7bde90
Uniqueid: 1261277764.44
Cause: 16
Cause-txt: Normal Clearing

Wednesday, June 24, 2009

Asterisk How to Capture Events and Handle it with PHP easily, works with all 1.2, 1.4 & 1.6

PHP makes the life easily when it comes to string parsing. Just enjoy to handle the events from asterisk.

#!/usr/bin/php -q

ob_implicit_flush(false);

$socket = fsockopen("hostname or ip","port", $errornum, $errorstr);
if(!$socket) {
print "Couldn't open socket. Error #" . $errornum . ": " . $errorstr;
} else {
fputs($socket, "Action: Login\r\n");
fputs($socket, "UserName: username\r\n");
fputs($socket, "Secret: password\r\n\r\n");
fputs($socket, "Action: Events\r\n");
fputs($socket, "EventMask: on\r\n\r\n");

fgets($socket); // Ignore the welcome message

$change = false;
$agentid = NULL;
$agentchannel = NULL;
$login = NULL;

while(true)
{
while(!feof($socket) )
{

$readbuf = "";
$resp = fread($socket,8192);
$readbuf .= $resp;
$allevents = split("\r\n\r\n",$readbuf);
foreach($allevents as $event)
{
$eventdetails = split("\r\n",$event);
$event_assoc = "";
foreach($eventdetails as $value ) {
$namevalue = split(": ",$value);
$event_assoc[$namevalue[0]] = $namevalue[1];
}
switch( $event_assoc['Event'] )
{
case 'Link': // Calls getting bridged
break;

default:
if( !empty($event_assoc['Event']) )
print_r($event_assoc);
}
}
fputs($socket, "Action: Ping\r\n\r\n");
usleep(1000000);
}

}

}

?>