Soporte & Consultoria

Soporte Remoto y Consultoria skype : ambiorixg12.
Nota no se brinda ningun tipo de consulta o soporte fuera del blog de forma gratuita

viernes, 16 de febrero de 2024

AMI custom chanspy

 $timeout = 10;

$host = "127.0.0.1";

$port = 5038;


// Check if required parameters are present and are numbers

if (

    is_numeric($_GET['local_extension']) &&

    is_numeric($_GET['a2b_extension']) &&

    isset($_GET['action'])

) {

    $local_extension = intval($_GET['local_extension']);

    $a2b_extension = intval($_GET['a2b_extension']);

    $action = preg_replace('/\s+/', '', $_GET['action']); // Remove spaces from action


    // Define username and secret

    $username = "admin";

    $secret = "6a16e190abd1qeee7d";


    $context_1 = "from-internal"; // Variable for out1

    $context_2 = "monitor"; // Variable for out2


    // Attempt to establish connection

    $socket = @fsockopen("$host", $port, $errno, $errstr, $timeout);

    if (!$socket) {

        echo "Error connecting to Asterisk Manager Interface: $errstr ($errno)";

        exit;

    }


    // Send AMI login command

    fputs($socket, "Action: Login\r\n");

    fputs($socket, "UserName: $username\r\n"); // Use username variable

    fputs($socket, "Secret: $secret\r\n\r\n"); // Use secret variable

    $wrets = fgets($socket, 128);


    // Send Originate command

    fputs($socket, "Action: Originate\r\n");

    fputs($socket, "Channel: Local/$local_extension@$context_1/n\r\n");

    fputs($socket, "Exten: $action\r\n");

    fputs($socket, "Context: $context_2\r\n");

    fputs($socket, "Priority: 1\r\n");

    fputs($socket, "CallerID: \r\n");

    fputs($socket, "Variable: __action=$action\r\n"); // Use sanitized action variable

    fputs($socket, "Variable: __a2b_extension=$a2b_extension\r\n"); // Add a2b_extension variable

    fputs($socket, "Async: yes\r\n\r\n");

    fputs($socket, "Action: Logoff\r\n\r\n");

    sleep(1);

    $wrets = fgets($socket, 128);

    echo $wrets;


    // Close the socket connection

    fclose($socket);

} else {

    echo "Missing or invalid parameters.";

}

?>

chanspy
;;;;;;;;;;;;;;

[monitor]
listen
exten => listen,1,Macro(user-callerid,)
exten => listen,n,Answer
exten => listen,n,NoCDR
exten => listen,n,Wait(1)
exten => listen,n,ChanSpy(sip/${EXTEN:3},q)
exten => listen,n,Hangup

whisper
exten => whisper,1,Macro(user-callerid,)
exten => whisper,n,Answer
exten => whisper,n,NoCDR
exten => whisper,n,Wait(1)
exten => whisper,n,ChanSpy(sip/${EXTEN:3},qw)
exten => whisper,n,Hangup

barge
exten => barge,1,Macro(user-callerid,)
exten => barge,n,Answer
exten => barge,n,NoCDR
exten => barge,n,Wait(1)
exten => barge,n,ChanSpy(sip/${EXTEN:3},qB)
exten => barge,n,Hangup

miércoles, 7 de febrero de 2024

CUSTOM_HEADER

 [vici]

exten => _X.,1,Noop(******making the call******)

exten => _91NXXNXXXXXX,1,AGI(agi-set_variables.agi)

exten => _91NXXNXXXXXX,n,NoOp(Customer phone number ${phone_number})

exten => _X.,n,Set(CUSTOM_HEADER_VALUE=${UNIQUEID})

exten => _X.,n,SIPAddHeader(X-Your-Custom-Header: ${CUSTOM_HEADER_VALUE})

exten => _X.,n,Dial(SIP/${trunk}/${EXTEN})


[a2b]

exten => _X.,1,Noop(******receiving call******)

exten => _X.,n,Noop(Custom SIP Header Value: ${SIP_HEADER(X-Your-Custom-Header)})

exten => _X.,n,Set(CDR(userfield)=${CUSTOM_HEADER_VALUE})