Пожалуйста, войдите здесь. Часто задаваемые вопросы О нас
Задайте Ваш вопрос

История изменений [назад]

нажмите, чтобы скрыть/показать версии 1
изначальная версия
редактировать

ответил 2012-04-23 08:43:30 +0400

switch Gravatar switch

http://lynks.ru/

По мотивам темы: подключился к одному из серваков и вспомнил что он с 1С связан по SOAP. Привожу код, может кому-то пригодится:

Скрипт, который делает SOAP запрос

<?php

//$anum=111;
//$bnum=222;

$data= '<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Header/>
    <soap:Body>
        <m:WebLNR xmlns:m="http://www.sample-package.org">
            <m:pn xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">'.$bnum.'</m:pn>
            <m:id xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">'.$anum.'</m:id>
        </m:WebLNR>
    </soap:Body>
</soap:Envelope>';
$host = "192.168.1.12";
$url = "WebLNR.1cws";

$opts = array('http' =>
                array(
                    'method'  => 'POST',
                    'header'  => 'Content-type: text/xml',
                    'content' => $data
                )
);

$context  = stream_context_create($opts);
$result = file_get_contents("http://$host/$url", false, $context);

echo $result;

Так он используется в диалплане

[macro-url-call]
exten => s,1,noop(${CURL(http://127.0.0.1/soap.test.php?anum=${ARG2}&bnum=${ARG1})})

По мотивам темы: подключился к одному из серваков и вспомнил что он с 1С связан по SOAP. Привожу код, может кому-то пригодится:

Скрипт, который делает SOAP запрос

<?php

//$anum=111;
//$bnum=222;

$data= '<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Header/>
    <soap:Body>
        <m:WebLNR xmlns:m="http://www.sample-package.org">
            <m:pn xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">'.$bnum.'</m:pn>
            <m:id xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">'.$anum.'</m:id>
        </m:WebLNR>
    </soap:Body>
</soap:Envelope>';
$host = "192.168.1.12";
$url = "WebLNR.1cws";

$opts = array('http' =>
                array(
                    'method'  => 'POST',
                    'header'  => 'Content-type: text/xml',
                    'content' => $data
                )
);

$context  = stream_context_create($opts);
$result = file_get_contents("http://$host/$url", false, $context);

echo $result;

Так он используется в диалплане

[macro-url-call]
exten => s,1,noop(${CURL(http://127.0.0.1/soap.test.php?anum=${ARG2}&bnum=${ARG1})})

[from-internal-custom]
exten => _00XXX,1,Macro(url-call,${EXTEN:2},${CALLERID(num)})
exten => _00XXX,n,Dial(LOCAL/${EXTEN:2}@from-internal,30,T)
exten => _00XXXX,1,Macro(url-call,${EXTEN:2},${CALLERID(num)})
exten => _00XXXX,n,Dial(LOCAL/${EXTEN:2}@from-internal,30,T)

В группах или очередях FreePBX перед нужным номером подставляем 00 и тогда звонок направляется с вызовом CURL

Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией GNU GPL.