<?php
/* Festlegen von vorgegebenen Werten */
define ('SIPGATE_PATH', '/RPC2');
define ('SIPGATE_USER', 'Benutzer');
define ('SIPGATE_PASS', 'passwort');
/* Server Verbindung öffnen, SSL auf Port 443 */
if(($f = fsockopen('ssl://' . SIPGATE_SERVER, 443, $errno, $errstr, 5)) === FALSE) echo 'Fehler '. $errno . ': ' . $errstr;
else {
$xml_data =
'<?xml version ="1.0" encoding="UTF-8"?>
<methodCall>
<methodName>samurai.PhonebookEntrySet</methodName>
<params>
<param>
<value><struct>
<member>
<name>EntryList</name>
<value>
<array><data>
<value><struct>
<member><name>Entry</name><value><string>BEGIN:VCARD
VERSION:2.1
N:Mustermann;Erika;;Dr.;
FN:Dr. Erika Mustermann
TEL;WORK;VOICE:(0221) 9999123
END:VCARD</string></value></member>
</struct></value>
</data></array>
</value>
</member>
</struct></value>
</param>
</params>
</methodCall>';
/* Sende POST Request */
fputs($f, 'POST ' . SIPGATE_PATH . ' HTTP/1.0' . "\r\n" .
'Authorization: Basic ' . base64_encode(SIPGATE_USER . ':' . SIPGATE_PASS) . "\r\n" .
'User-Agent: PHPxmlParser' . "\r\n" .
'Content-type: text/xml' . "\r\n" .
'Content-Length: '. strlen($xml_data) . "\r\n" .
'Connection: close' . "\r\n" . "\r\n");
/* Sende XML-Daten */
fputs($f, $xml_data);
/* Rückgabe vom Zielserver sammeln */
$ret = '';
while(!feof($f))
{
$ret .= fread($f, 1024);
}
/* Rückgabe in Header und XML trennen */
list($header, $xml_response) = explode("\r\n\r\n", $ret);
echo $header;
echo "\n\n";
echo $xml_response;
}
?>