summaryrefslogtreecommitdiffstats
path: root/ext/ovh
diff options
context:
space:
mode:
authorlassulus <lassulus@googlemail.com>2013-01-31 19:41:11 +0100
committerlassulus <lassulus@googlemail.com>2013-01-31 19:41:11 +0100
commit5f8f9ea9e5f10abcef9c12d48345c098dca78199 (patch)
treec4dd748d5c152445569d7dfd2d0877ef66a95daa /ext/ovh
parent7c050acc2559c622b831d9193e2336c15f42de6d (diff)
parent9461f6ece9f674588327c6dc3199fc0d7618ac48 (diff)
Merge branch 'master' of github.com:krebscode/painload
Diffstat (limited to 'ext/ovh')
-rw-r--r--ext/ovh/README31
-rw-r--r--ext/ovh/soapi/Makefile25
-rw-r--r--ext/ovh/soapi/README1
-rwxr-xr-xext/ovh/soapi/domainCapabilities29
-rwxr-xr-xext/ovh/soapi/domainInfo29
-rwxr-xr-xext/ovh/soapi/domainList28
-rw-r--r--ext/ovh/soapi/soapi-re-1.24.wsdl20105
-rwxr-xr-xext/ovh/soapi/zoneEntryAdd33
-rwxr-xr-xext/ovh/soapi/zoneEntryDel33
-rwxr-xr-xext/ovh/soapi/zoneEntryList29
-rwxr-xr-xext/ovh/soapi/zoneExport29
-rwxr-xr-xext/ovh/soapi/zoneImport33
12 files changed, 20405 insertions, 0 deletions
diff --git a/ext/ovh/README b/ext/ovh/README
new file mode 100644
index 00000000..90b34108
--- /dev/null
+++ b/ext/ovh/README
@@ -0,0 +1,31 @@
+#? /bin/sh
+# This is the project to use the SOAP connector of OVH to change zone
+# entries for krebsco.de
+set -euf
+
+# install ovh soapi
+
+cd /path/to/krebscode/painload
+
+
+make -C ovh/soapi install
+// if the command breaks, try:
+// pip install soappy
+
+# edit the zone
+
+export PATH="$PWD/bin${PATH+:$PATH}"
+export KREBS_OVH_USER=...
+export KREBS_OVH_PASS=...
+// Optional:
+// export KREBS_OVH_DOMAIN=...
+
+
+zoneEntryAdd "krebsco.de" "subdomain" "A" "a.b.c.d."
+
+# ZoneExport Broken since 2012-07-16
+# zoneExport > /tmp/foo
+# $EDITOR /tmp/foo
+# zoneImport < /tmp/foo
+
+# Have a nice day!^_^
diff --git a/ext/ovh/soapi/Makefile b/ext/ovh/soapi/Makefile
new file mode 100644
index 00000000..15ef8f3f
--- /dev/null
+++ b/ext/ovh/soapi/Makefile
@@ -0,0 +1,25 @@
+.PHONY: all install
+all: select-target
+
+exes := $(shell \
+ find . -mindepth 1 -maxdepth 1 -type f -executable -exec basename \{\} \;)
+
+target_exes := $(addprefix ../../bin/,$(exes))
+
+install: $(target_exes)
+
+../../bin/%: % SOAPpy
+ ln -snf ../ovh/soapi/$* $@
+
+src:
+ mkdir $@
+
+src/SOAPpy: src
+ cd $< && \
+ svn co https://pywebsvcs.svn.sourceforge.net/svnroot/pywebsvcs/trunk/SOAPpy
+
+src/SOAPpy/build/lib/SOAPpy: src/SOAPpy
+ cd $< && python setup.py build
+
+SOAPpy: src/SOAPpy/build/lib.linux-x86_64-2.6/SOAPpy
+ ln -snf $<
diff --git a/ext/ovh/soapi/README b/ext/ovh/soapi/README
new file mode 100644
index 00000000..42ad5ebf
--- /dev/null
+++ b/ext/ovh/soapi/README
@@ -0,0 +1 @@
+https://www.ovh.com/soapi/en/
diff --git a/ext/ovh/soapi/domainCapabilities b/ext/ovh/soapi/domainCapabilities
new file mode 100755
index 00000000..a438e0b8
--- /dev/null
+++ b/ext/ovh/soapi/domainCapabilities
@@ -0,0 +1,29 @@
+#!/usr/bin/python
+
+from os import environ
+from os.path import dirname, realpath
+from SOAPpy import WSDL
+from json import dumps, JSONEncoder
+
+def default(o):
+ try:
+ iterable = iter(o)
+ except TypeError:
+ pass
+ else:
+ return list(iterable)
+ return JSONEncoder.default(o)
+
+wsdl = dirname(realpath(__file__)) + '/soapi-re-1.24.wsdl'
+soap = WSDL.Proxy(wsdl)
+
+username = environ['KREBS_OVH_USER']
+password = environ['KREBS_OVH_PASS']
+domain = environ.get('KREBS_OVH_DOMAIN','krebsco.de')
+
+session = soap.login(username, password, 'de', 0)
+
+result = soap.domainCapabilities(session, domain)
+print dumps(result, sort_keys=True, indent=2, default=default)
+
+soap.logout(session)
diff --git a/ext/ovh/soapi/domainInfo b/ext/ovh/soapi/domainInfo
new file mode 100755
index 00000000..35459d06
--- /dev/null
+++ b/ext/ovh/soapi/domainInfo
@@ -0,0 +1,29 @@
+#!/usr/bin/python
+
+from os import environ
+from os.path import dirname, realpath
+from SOAPpy import WSDL
+from json import dumps, JSONEncoder
+
+def default(o):
+ try:
+ iterable = iter(o)
+ except TypeError:
+ pass
+ else:
+ return list(iterable)
+ return JSONEncoder.default(o)
+
+wsdl = dirname(realpath(__file__)) + '/soapi-re-1.24.wsdl'
+soap = WSDL.Proxy(wsdl)
+
+username = environ['KREBS_OVH_USER']
+password = environ['KREBS_OVH_PASS']
+domain = environ.get('KREBS_OVH_DOMAIN','krebsco.de')
+
+session = soap.login(username, password, 'de', 0)
+
+result = soap.domainInfo(session, domain)
+print dumps(result, sort_keys=True, indent=2, default=default)
+
+soap.logout(session)
diff --git a/ext/ovh/soapi/domainList b/ext/ovh/soapi/domainList
new file mode 100755
index 00000000..342eec72
--- /dev/null
+++ b/ext/ovh/soapi/domainList
@@ -0,0 +1,28 @@
+#!/usr/bin/python
+
+from os import environ
+from os.path import dirname, realpath
+from SOAPpy import WSDL
+from json import dumps, JSONEncoder
+
+def default(o):
+ try:
+ iterable = iter(o)
+ except TypeError:
+ pass
+ else:
+ return list(iterable)
+ return JSONEncoder.default(o)
+
+wsdl = dirname(realpath(__file__)) + '/soapi-re-1.24.wsdl'
+soap = WSDL.Proxy(wsdl)
+
+username = environ['KREBS_OVH_USER']
+password = environ['KREBS_OVH_PASS']
+
+session = soap.login(username, password, 'de', 0)
+
+result = soap.domainList(session)
+print dumps(result, sort_keys=True, indent=2, default=default)
+
+soap.logout(session)
diff --git a/ext/ovh/soapi/soapi-re-1.24.wsdl b/ext/ovh/soapi/soapi-re-1.24.wsdl
new file mode 100644
index 00000000..c628c564
--- /dev/null
+++ b/ext/ovh/soapi/soapi-re-1.24.wsdl
@@ -0,0 +1,20105 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+
+ SOAPI WSDL, RPC/Encoded style, version 1.24
+
+ The SOAPI technical specifications are available at this url : http://www.ovh.com/soapi .
+
+ copyright 1999-2011 OVH
+
+-->
+
+<wsdl:definitions name="manager"
+ targetNamespace="http://soapi.ovh.com/manager"
+ xmlns="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:wsdlns="http://soapi.ovh.com/manager"
+ xmlns:typens="http://soapi.ovh.com/manager"
+ xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
+>
+
+ <wsdl:types>
+ <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="http://soapi.ovh.com/manager">
+
+ <xsd:complexType name="supportThreadDetailStruct">
+ <xsd:all>
+ <xsd:element name="id" type="xsd:int"/>
+ <xsd:element name="date" type="xsd:string"/>
+ <xsd:element name="subject" type="xsd:string"/>
+ <xsd:element name="domain" type="xsd:string"/>
+ <xsd:element name="status" type="xsd:string"/>
+ <xsd:element name="unread" type="xsd:int"/>
+ <xsd:element name="closed" type="xsd:int"/>
+ <xsd:element name="answered" type="xsd:int"/>
+ </xsd:all>
+ </xsd:complexType>
+
+ <xsd:complexType name="supportThreadMessageDetailStruct">
+ <xsd:all>
+ <xsd:element name="id" type="xsd:int"/>
+ <xsd:element name="date" type="xsd:string"/>
+ <xsd:element name="unread" type="xsd:int"/>
+ <xsd:element name="type" type="xsd:string"/>
+ <xsd:element name="reportReason" type="xsd:string"/>
+ </xsd:all>
+ </xsd:complexType>
+
+ <xsd:complexType name="supportThreadTreeReturn">
+ <xsd:all>
+ <xsd:element name="id" type="xsd:int"/>
+ <xsd:element name="subject" type="xsd:string"/>
+ <xsd:element name="domain" type="xsd:string"/>
+ <xsd:element name="closed" type="xsd:int"/>
+ <xsd:element name="reportReason" type="xsd:string"/>
+ <xsd:element name="messages" type="typens:MyArrayOfSupportThreadMessageDetailStructType"/>
+ </xsd:all>
+ </xsd:complexType>
+
+ <xsd:complexType name="supportMessageDetailReturn">
+ <xsd:all>
+ <xsd:element name="id" type="xsd:int"/>
+ <xsd:element name="thread" type="xsd:int"/>
+ <xsd:element name="unreadThread" type="xsd:boolean"/>
+ <xsd:element name="fromEmail" type="xsd:string"/>
+ <xsd:element name="dateSent" type="xsd:string"/>
+ <xsd:element name="subject" type="xsd:string"/>
+ <xsd:element name="body" type="xsd:string"/>
+ <xsd:element name="reportReason" type="xsd:string"/>
+ </xsd:all>
+ </xsd:complexType>
+
+ <xsd:complexType name="supportCategoryStruct">
+ <xsd:all>
+ <xsd:element name="name" type="xsd:string"/>
+ <xsd:element name="id" type="xsd:int"/>
+ </xsd:all>
+ </xsd:complexType>
+
+ <xsd:complexType name="supportDomainStruct">
+ <xsd:all>
+ <xsd:element name="domain" type="xsd:string"/>
+ </xsd:all>
+ </xsd:complexType>
+
+ <xsd:complexType name="supportSendMessageReturn">
+ <xsd:all>
+ <xsd:element name="threadId" type="xsd:int"/>
+ <xsd:element name="messageId" type="xsd:int"/>
+ <xsd:element name="dateTime" type="xsd:string"/>
+ </xsd:all>
+ </xsd:complexType>
+
+ <xsd:complexType name="MyArrayOfSupportThreadDetailStructType">
+ <xsd:complexContent>
+ <xsd:restriction base="soapenc:Array">
+ <xsd:attribute ref="soapenc:arrayType" wsdl:arrayType="typens:supportThreadDetailStruct[]"/>
+ </xsd:restriction>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:complexType name="MyArrayOfSupportCategoryStructType">
+ <xsd:complexContent>
+ <xsd:restriction base="soapenc:Array">
+ <xsd:attribute ref="soapenc:arrayType" wsdl:arrayType="typens:supportCategoryStruct[]"/>
+ </xsd:restriction>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:complexType name="MyArrayOfSupportDomainStructType">
+ <xsd:complexContent>
+ <xsd:restriction base="soapenc:Array">
+ <xsd:attribute ref="soapenc:arrayType" wsdl:arrayType="typens:supportDomainStruct[]"/>
+ </xsd:restriction>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:complexType name="MyArrayOfSupportThreadMessageDetailStructType">
+ <xsd:complexContent>
+ <xsd:restriction base="soapenc:Array">
+ <xsd:attribute ref="soapenc:arrayType" wsdl:arrayType="typens:supportThreadMessageDetailStruct[]"/>
+ </xsd:restriction>
+ </xsd:complexContent>
+ </xsd:complexType>
+
+ <xsd:complexType name="telephonyBillingAccountStruct">
+ <xsd:all>
+ <xsd:element name="description" type="xsd:string"/>
+ <xsd:element name="mobile" type="xsd:string"/>
+ <xsd:element name="mobileDestination" type="xsd:string"/>
+ <xsd:element name="expirationDate" type="xsd:string"/>
+ <xsd:element name="version" type="xsd:string"/>
+ <xsd:element name="trusted" type="xsd:boolean"/>
+ <xsd:element name="pendingAction" type="typens:telephonyPendingActionStruct"/>
+ <xsd:element name="descriptionUser" type="xsd:string"/>
+ </xsd:all>
+ </xsd:complexType>
+
+ <xsd:complexType name="telephonyNumberDecodeStruct">
+ <xsd:all>
+ <xsd:element name="numberDisplay" type="xsd:string"/>
+ <xsd:element name="numberInternal" type="xsd:string"/>
+ <xsd:element name="numberInternational" type="xsd:string"/>
+ <xsd:element name="numberNational" type="xsd:string"/>
+ <xsd:element name="countryCode" type="xsd:string"/>
+ <xsd:element name="language" type="xsd:string"/>
+ <xsd:element name="cirpackNature" type="xsd:string"/>
+ <xsd:element name="cirpackNumber" type="xsd:string"/>
+ </xsd:all>
+ </xsd:complexType>
+
+ <xsd:complexType name="telephonyPendingActionStruct">
+ <xsd:all>
+ <xsd:element name="dateTodo" type="xsd:string"/>
+ <xsd:element name="offer" type="xsd:string"/>
+ <xsd:element name="action" type="xsd:string"/>
+ </xsd:all>
+ </xsd:complexType>
+
+ <xsd:complexType name="telephonyBillingAccountInfoChildrenStruct">
+ <xsd:all>
+ <xsd:element name="number" type="xsd:string"/>
+ <xsd:element name="offer" type="xsd:string"/>
+ <xsd:element name="type" type="xsd:string"/>
+ <xsd:element name="expirationDate" type="xsd:string"/>
+ <xsd:element name="description" type="xsd:string"/>
+ </xsd:all>
+ </xsd:complexType>
+
+ <xsd:complexType name="telephonyBillingAccountInfoReturn">
+ <xsd:all>
+ <xsd:element name="offer" type="xsd:string"/>
+ <xsd:element name="consumtionTime" type="xsd:string"/>
+ <xsd:element name="outPlan" type="xsd:string"/>
+ <xsd:element name="facturationDate" type="xsd:string"/>
+ <xsd:element name="children" type="typens:MyArrayOfTelephonyBillingAccountInfoChildrenStructType"/>
+ </xsd:all>
+ </xsd:complexType>
+
+ <xsd:complexType name="telephonyLineAliasPoolStruct">
+ <xsd:all>
+ <xsd:element name="poolNumber" type="xsd:int"/>
+ <xsd:element name="service" type="xsd:string"/>
+ <xsd:element name="display" type="xsd:string"/>
+ </xsd:all>
+ </xsd:complexType>
+
+ <xsd:complexType name="telephonyLineStruct">
+ <xsd:all>
+ <xsd:element name="number" type="xsd:string"/>
+ <xsd:element name="billingAccount" type="xsd:string"/>
+ <xsd:element name="offer" type="xsd:string"/>
+ <xsd:element name="type" type="xsd:string"/>
+ <xsd:element name="service" type="xsd:string"/>
+ <xsd:element name="expirationDate" type="xsd:string"/>
+ <xsd:element name="description" type="xsd:string"/>
+ <xsd:element name="betaGamaOffer" type="xsd:boolean"/>
+ <xsd:element name="setOn" type="xsd:string"/>
+ <xsd:element name="aliasPool" type="typens:telephonyLineAliasPoolStruct"/>
+ <xsd:element name="pendingAction" type="typens:telephonyPendingActionStruct"/>
+ </xsd:all>
+ </xsd:complexType>
+
+ <xsd:complexType name="telephonyLineListReturn">
+ <xsd:all>
+ <xsd:element name="link" type="typens:MyArrayOfTelephonyLineStructType"/>
+ <xsd:element name="alias" type="typens:MyArrayOfTelephonyLineStructType"/>
+ </xsd:all>
+ </xsd:complexType>
+
+ <xsd:complexType name="telephonyLineOptionsListReturn">
+ <xsd:all>
+ <xsd:element name="identificationRestriction" type="xsd:boolean"/>
+ <xsd:element name="anonymousCallRejection" type="xsd:boolean"/>
+ <xsd:element name="doNotDisturb" type="xsd:boolean"/>
+ <xsd:element name="absentSuscriber" type="xsd:boolean"/>
+ <xsd:element name="lockOutCall" type="xsd:boolean"/>
+ <xsd:element name="lockOutCallPassword" type="xsd:string"/>
+ <xsd:element name="forwardUnconditional" type="xsd:boolean"/>
+ <xsd:element name="forwardUnconditionalNumber" type="xsd:string"/>
+ <xsd:element name="forwardNoReply" type="xsd:boolean"/>
+ <xsd:element name="forwardNoReplyDelay" type="xsd:int"/>
+ <xsd:element name="forwardNoReplyNumber" type="xsd:string"/>
+ <xsd:element name="forwardBusy" type="xsd:boolean"/>
+ <xsd:element name="forwardBusyNumber" type="xsd:string"/>
+ <xsd:element name="forwardBackup" type="xsd:boolean"/>
+ <xsd:element name="forwardBackupNumber" type="xsd:string"/>
+ <xsd:element name="callWaiting" type="xsd:boolean"/>
+ <xsd:element name="displayCallNumber" type="xsd:string"/>
+ <xsd:element name="forwardUnconditionalNature" type="xsd:string"/>
+ <xsd:element name="forwardNoReplyNature" type="xsd:string"/>
+ <xsd:element name="forwardBusyNature" type="xsd:string"/>
+ <xsd:element name="forwardBackupNature" type="xsd:string"/>
+ </xsd:all>
+ </xsd:complexType>
+
+ <xsd:complexType name="telephonyLineSwitchOldOfferStruct">
+ <xsd:all>
+ <xsd:element name="number" type="xsd:string"/>
+ <xsd:element name="offers" type="typens:MyArrayOfTelephonyLineSwitchPossibilityPriceStructType"/>
+ </xsd:all>
+ </xsd:complexType>
+
+ <xsd:complexType name="telephonyLineSwitchPossibilityPriceStruct">
+ <xsd:all>
+ <xsd:element name="offer" type="xsd:string"/>
+ <xsd:element name="price" type="xsd:string"/>
+ </xsd:all>
+ </xsd:complexType>
+
+ <xsd:complexType name="orderFollowingUpStruct">
+ <xsd:all>
+ <xsd:element name="id" type="xsd:string"/>
+ <xsd:element name="urlId" type="xsd:string"/>
+ <xsd:element name="procedure" type="xsd:string"/>
+ <xsd:element name="install" type="xsd:string"/>
+ <xsd:element name="shipping" type="xsd:string"/>
+ <xsd:element name="cloture" type="xsd:string"/>
+ <xsd:element name="avancement" type="xsd:string"/>
+ </xsd:all>
+ </xsd:complexType>
+
+ <xsd:complexType name="telephonyOfferInfoReturn">
+ <xsd:all>
+ <xsd:element name="number" type="xsd:string"/>
+ <xsd:element name="description" type="xsd:string"/>
+ <xsd:element name="offer" type="xsd:string"/>
+ <xsd:element name="countryCode" type="xsd:string"/>
+ <xsd:element name="nextBillingDate" type="xsd:string"/>
+ <xsd:element name="simultaneousLines" type="xsd:int"/>
+ <xsd:element name="hardware" type="typens:telephonyOfferInfoHardwareStruct"/>
+ <xsd:element name="sipAccount" type="typens:telephonyOfferInfoSipAccountStruct"/>
+ </xsd:all>
+ </xsd:complexType>
+
+ <xsd:complexType name="telephonyOfferInfoSipAccountStruct">
+ <xsd:all>
+ <xsd:element name="username" type="xsd:string"/>
+ <xsd:element name="extension" type="xsd:string"/>
+ <xsd:element name="domain" type="xsd:string"/>
+ <xsd:element name="lastLogin" type="xsd:string"/>
+ <xsd:element name="localAdress" type="xsd:string"/>
+ <xsd:element name="publicAdress" type="xsd:string"/>
+ </xsd:all>
+ </xsd:complexType>
+
+ <xsd:complexType name="telephonyOfferInfoHardwareStruct">
+ <xsd:all>
+ <xsd:element name="brand" type="xsd:string"/>
+ <xsd:element name="model" type="xsd:string"/>
+ <xsd:element name="protocol" type="xsd:string"/>
+ <xsd:element name="mac" type="xsd:string"/>
+ <xsd:element name="ip" type="xsd:string"/>
+ <xsd:element name="engage" type="xsd:boolean"/>
+ <xsd:element name="status" type="xsd:string"/>
+ <xsd:element name="port" type="xsd:int"/>
+ <xsd:element name="outOfService" type="xsd:boolean"/>
+ </xsd:all>
+ </xsd:complexType>
+
+ <xsd:complexType name="telephonyDisplayNumberTestingGetNextNumberReturn">
+ <xsd:all>
+ <xsd:element name="number" type="xsd:string"/>
+ <xsd:element name="id" type="xsd:string"/>
+ </xsd:all>
+ </xsd:complexType>
+
+ <xsd:complexType name="telephonySpecialNumberCustomListReturn">
+ <xsd:all>
+ <xsd:element name="easyNumbers" type="typens:MyArrayOfStringType"/>
+ <xsd:element name="staticAttributionRange" type="typens:MyArrayOfStringType"/>
+ <xsd:element name="proposedNumbers" type="typens:MyArrayOfStringType"/>
+ </xsd:all>
+ </xsd:complexType>
+
+ <xsd:complexType name="telephonyReversmentsDetailsStructReturn">
+ <xsd:all>
+ <xsd:element name="totalRecords" type="xsd:float"/>
+ <xsd:element name="reversementsDetailsStruct" type="typens:MyArrayOfTelephonyReversmentsDetailsStructType"/>
+ </xsd:all>
+ </xsd:complexType>
+
+ <xsd:complexType name="telephonyReversmentsDetailsStruct">
+ <xsd:all>
+ <xsd:element name="date" type="xsd:string"/>
+ <xsd:element name="connectionDuration" type="xsd:string"/>
+ <xsd:element name="callingNumber" type="xsd:string"/>
+ <xsd:element name="priceReversed" type="xsd:string"/>
+ <xsd:element name="operatorCode" type="xsd:string"/>
+ </xsd:all>
+ </xsd:complexType>
+
+ <xsd:complexType name="telephonyReversmentsSummationStructReturn">
+ <xsd:all>
+ <xsd:element name="totalRecords" type="xsd:float"/>
+ <xsd:element name="reversementsSummationStruct" type="typens:MyArrayOfTelephonyReversmentsSummationStructType"/>
+ </xsd:all>
+ </xsd:complexType>
+
+ <xsd:complexType name="telephonyReversmentsSummationStruct">
+ <xsd:all>
+ <xsd:element name="type" type="xsd:string"/>
+ <xsd:element name="name" type="xsd:string"/>
+ <xsd:element name="seconds" type="xsd:string"/>
+ <xsd:element name="priceReversed" type="xsd:string"/>
+ <xsd:element name="calls" type="xsd:string"/>
+ </xsd:all>
+ </xsd:complexType>
+
+ <xsd:complexType name="telephonyReversmentsSummationNumbersStruct">
+ <xsd:all>
+ <xsd:element name="number" type="xsd:string"/>
+ <xsd:element name="reversementsSummationStruct" type="typens:MyArrayOfTelephonyReversmentsSummationStructType"/>
+ </xsd:all>
+ </xsd:complexType>
+
+ <xsd:complexType name="telephonyCallStruct">
+ <xsd:all>
+ <xsd:element name="idkey" type="xsd:string"/>
+ <xsd:element name="number" type="xsd:string"/>
+ <xsd:element name="date" type="xsd:string"/>
+ <xsd:element name="duration" type="xsd:string"/>
+ <xsd:element name="destination" type="xsd:string"/>
+ <xsd:element name="priceWithoutVAT" type="xsd:float"/>
+ <xsd:element name="nature" type="xsd:string"/>
+ <xsd:element name="overLimit" type="xsd:boolean"/>
+ <xsd:element name="type" type="xsd:string"/>
+ <xsd:element name="callingNumber" type="xsd:string"/>
+ <xsd:element name="presentation" type="xsd:string"/>
+ <xsd:element name="designation" type="xsd:string"/>
+ </xsd:all>
+ </xsd:complexType>
+
+ <xsd:complexType name="telephonyCallsSummaryDetailsStruct">
+ <xsd:all>
+ <xsd:element name="count" type="xsd:int"/>
+ <xsd:element name="duration" type="xsd:string"/>
+ <xsd:element name="priceWithoutVAT" type="xsd:float"/>
+ </xsd:all>
+ </xsd:complexType>
+
+ <xsd:complexType name="telephonyFaxSummaryDetailsStruct">
+ <xsd:all>
+ <xsd:element name="count" type="xsd:int"/>
+ <xsd:element name="pages" type="xsd:int"/>
+ <xsd:element name="priceWithoutVAT" type="xsd:float"/>
+ </xsd:all>
+ </xsd:complexType>
+
+ <xsd:complexType name="telephonyCallsSummaryStruct">
+ <xsd:all>
+ <xsd:element name="pricePlan" type="typens:telephonyCallsSummaryDetailsStruct"/>
+ <xsd:element name="outPlan" type="typens:telephonyCallsSummaryDetailsStruct"/>
+ </xsd:all>
+ </xsd:complexType>
+
+ <xsd:complexType name="telephonyFaxSummaryStruct">
+ <xsd:all>
+ <xsd:element name="low" type="typens:telephonyFaxSummaryDetailsStruct"/>
+ <xsd:element name="high" type="typens:telephonyFaxSummaryDetailsStruct"/>
+ </xsd:all>
+ </xsd:complexType>
+
+ <xsd:complexType name="telephonyBillingAccountSummaryLineStruct">
+ <xsd:all>
+ <xsd:element name="line" type="xsd:string"/>
+ <xsd:element name="phoneNumber" type="xsd:string"/>
+ <xsd:element name="fixe" type="typens:telephonyCallsSummaryStruct"/>
+ <xsd:element name="special" type="typens:telephonyCallsSummaryStruct"/>
+ <xsd:element name="mobile" type="typens:telephonyCallsSummaryStruct"/>
+ <xsd:element name="fax" type="typens:telephonyFaxSummaryStruct"/>
+ </xsd:all>
+ </xsd:complexType>
+
+ <xsd:complexType name="telephonyBillingAccountSummaryBillingAccountStruct">
+ <xsd:all>
+ <xsd:element name="name" type="xsd:string"/>
+ <xsd:element name="betaGammaOffer" type="xsd:boolean"/>
+ <xsd:element name="mobile" type="typens:telephonyCallsSummaryStruct"/>
+ </xsd:all>
+ </xsd:complexType>
+
+ <xsd:complexType name="telephonyBillingAccountSummaryReturn">
+ <xsd:all>
+ <xsd:element name="billingAccount" type="typens:telephonyBillingAccountSummaryBillingAccountStruct"/>
+ <xsd:element name="lines" type="typens:MyArrayOfTelephonyBillingAccountSummaryLineStructType"/>
+ </xsd:all>
+ </xsd:complexType>
+
+ <xsd:complexType name="telephonyCallListReturn">
+ <xsd:all>
+ <xsd:element name="fromDate" type="xsd:string"/>
+ <xsd:element name="toDate" type="xsd:string"/>
+ <xsd:element name="list" type="typens:MyArrayOfTelephonyCallStructType"/>
+ </xsd:all>
+ </xsd:complexType>
+
+ <xsd:complexType name="telephonyBillStruct">
+ <xsd:all>
+ <xsd:element name="date" type="xsd:string"/>
+ <xsd:element name="price" type="xsd:float"/>
+ <xsd:element name="orderId" type="xsd:int"/>
+ <xsd:element name="orderPaid" type="xsd:boolean"/>
+ <xsd:element name="orderUrl" type="xsd:string"/>
+ </xsd:all>
+ </xsd:complexType>
+
+ <xsd:complexType name="telephonyBillDetailsReturn">
+ <xsd:all>
+ <xsd:element name="fromDate" type="xsd:string"/>
+ <xsd:element name="toDate" type="xsd:string"/>
+ <xsd:element name="list" type="typens:MyArrayOfTelephonyCallStructType"/>
+ </xsd:all>
+ </xsd:complexType>
+
+ <xsd:complexType name="telephonyVoicemailOptionsListReturn">
+ <xsd:all>
+ <xsd:element name="redirection1" type="xsd:string"/>
+ <xsd:element name="redirection1Email" type="xsd:string"/>
+ <xsd:element name="redirection2" type="xsd:string"/>
+ <xsd:element name="redirection2Email" type="xsd:string"/>
+ <xsd:element name="redirection3" type="xsd:string"/>
+ <xsd:element name="redirection3Email" type="xsd:string"/>
+ <xsd:element name="redirection4" type="xsd:string"/>
+ <xsd:element name="redirection4Email" type="xsd:string"/>
+ <xsd:element name="redirection5" type="xsd:string"/>
+ <xsd:element name="redirection5Email" type="xsd:string"/>
+ <xsd:element name="annouceMessage" type="xsd:string"/>
+ <xsd:element name="keepMessage" type="xsd:boolean"/>
+ <xsd:element name="audioformat" type="xsd:string"/>
+ <xsd:element name="fromEmail" type="xsd:string"/>
+ <xsd:element name="fromName" type="xsd:string"/>
+ <xsd:element name="forcePassword" type="xsd:boolean"/>
+ </xsd:all>
+ </xsd:complexType>
+
+ <xsd:complexType name="telephonyVoicemailMessagesStatusReturn">
+ <xsd:all>
+ <xsd:element name="unavailable" type="xsd:boolean"/>
+ <xsd:element name="busy" type="xsd:boolean"/>
+ <xsd:element name="temp" type="xsd:boolean"/>
+ <xsd:element name="greet" type="xsd:boolean"/>
+ </xsd:all>
+ </xsd:complexType>
+
+ <xsd:complexType name="telephonyVoicemailMailboxStruct">
+ <xsd:all>
+ <xsd:element name="id" type="xsd:int"/>
+ <xsd:element name="callerid" type="xsd:string"/>
+ <xsd:element name="origdate" type="xsd:string"/>
+ <xsd:element name="origtime" type="xsd:string"/>
+ <xsd:element name="origmailbox" type="xsd:string"/>
+ <xsd:element name="duration" type="xsd:int"/>
+ <xsd:element name="folder" type="xsd:string"/>
+ </xsd:all>
+ </xsd:complexType>
+
+ <xsd:complexType name="telephonyVoicemailMailboxDownloadReturn">
+ <xsd:all>
+ <xsd:element name="fileName" type="xsd:string"/>
+ <xsd:element name="fileData" type="xsd:string"/>
+ <xsd:element name="md5sum" type="xsd:string"/>
+ </xsd:all>
+ </xsd:complexType>
+
+ <xsd:complexType name="telephonyPhonebookStruct">
+ <xsd:all>
+ <xsd:element name="id" type="xsd:int"/>
+ <xsd:element name="name" type="xsd:string"/>
+ <xsd:element name="mode" type="xsd:string"/>
+ </xsd:all>
+ </xsd:complexType>
+
+ <xsd:complexType name="telephonyPhonebookGroupStruct">
+ <xsd:all>
+ <xsd:element name="name" type="xsd:string"/>
+ <xsd:element name="count" type="xsd:int"/>
+ </xsd:all>
+ </xsd:complexType>
+
+ <xsd:complexType name="telephonyPhonebookContactStruct">
+ <xsd:all>
+ <xsd:element name="id" type="xsd:int"/>
+ <xsd:element name="name" type="xsd:string"/>
+ <xsd:element name="surname" type="xsd:string"/>
+ <xsd:element name="workPhone" type="xsd:string"/>
+ <xsd:element name="workMobile" type="xsd:string"/>
+ <xsd:element name="homePhone" type="xsd:string"/>
+ <xsd:element name="homeMobile" type="xsd:string"/>
+ <xsd:element name="group" type="xsd:string"/>
+ </xsd:all>
+ </xsd:complexType>
+
+ <xsd:complexType name="telephonyPhonebookSharePeerStruct">
+ <xsd:all>
+ <xsd:element name="id" type="xsd:int"/>
+ <xsd:element name="number" type="xsd:string"/>
+ <xsd:element name="name" type="xsd:string"/>
+ <xsd:element name="mode" type="xsd:string"/>
+ </xsd:all>
+ </xsd:complexType>
+
+ <xsd:complexType name="telephonySecurityDepositCreditReturn">
+ <xsd:all>
+ <xsd:element name="orderId" type="xsd:int"/>
+ <xsd:element name="orderPassword" type="xsd:string"/>
+ <xsd:element name="orderUrl" type="xsd:string"/>
+ <xsd:element name="totalPrice" type="xsd:float"/>
+ <xsd:element name="vat" type="xsd:float"/>
+ <xsd:element name="totalPriceWithVat" type="xsd:float"/>
+ <xsd:element name="ribBankCode" type="xsd:string"/>
+ <xsd:element name="ribAgencyCode" type="xsd:string"/>
+ <xsd:element name="ribAccountNumber" type="xsd:string"/>
+ <xsd:element name="ribKey" type="xsd:string"/>
+ <xsd:element name="iban" type="xsd:string"/>
+ <xsd:element name="bic" type="xsd:string"/>
+ </xsd:all>
+ </xsd:complexType>
+
+ <xsd:complexType name="telephonyConferenceStruct">
+ <xsd:all>
+ <xsd:element name="room" type="xsd:string"/>
+ <xsd:element name="countryCode" type="xsd:string"/>
+ <xsd:element name="callNumber" type="xsd:string"/>
+ <xsd:element name="language" type="xsd:string"/>
+ <xsd:element name="customAnnounce" type="xsd:boolean"/>
+ <xsd:element name="recordAnnounce" type="xsd:boolean"/>
+ <xsd:element name="mailReport" type="xsd:boolean"/>
+ <xsd:element name="customMailReportAddress" type="xsd:string"/>
+ <xsd:element name="askName" type="xsd:boolean"/>
+ <xsd:element name="tellMemberCount" type="xsd:boolean"/>
+ <xsd:element name="moderatorCountryCode" type="xsd:string"/>
+ <xsd:element name="moderatorCallNumber" type="xsd:string"/>
+ <xsd:element name="status" type="xsd:string"/>
+ <xsd:element name="dtmfmenu" type="xsd:boolean"/>
+ <xsd:element name="announce_rcv" type="xsd:boolean"/>
+ <xsd:element name="announce_snd" type="xsd:boolean"/>
+ <xsd:element name="recordConf" type="xsd:boolean"/>
+ </xsd:all>
+ </xsd:complexType>
+
+ <xsd:complexType name="telephonyConferenceAnnouncesStatusReturn">
+ <xsd:all>
+ <xsd:element name="custom" type="xsd:boolean"/>
+ </xsd:all>
+ </xsd:complexType>
+
+ <xsd:complexType name="telephonySmsUserQuotaStruct">
+ <xsd:all>
+ <xsd:element name="quotaLeft" type="xsd:string"/>
+ <xsd:element name="quotaStatus" type="xsd:string"/>
+ </xsd:all>
+ </xsd:complexType>
+
+ <xsd:complexType name="telephonyNotificationSmsUserStruct">
+ <xsd:all>
+ <xsd:element name="support" type="xsd:string"/>
+ <xsd:element name="alertThreshold" type="xsd:string"/>
+ <xsd:element name="alertNumber" type="xsd:string"/>
+ </xsd:all>
+ </xsd:complexType>
+
+ <xsd:complexType name="telephonySmsUserStruct">
+ <xsd:all>
+ <xsd:element name="login" type="xsd:string"/>
+ <xsd:element name="quota" type="xsd:string"/>
+ <xsd:element name="quotaStatus" type="xsd:string"/>
+ <xsd:element name="alertThreshold" type="xsd:string"/>
+ <xsd:element name="support" type="xsd:string"/>
+ <xsd:element name="alertNumber" type="xsd:string"/>
+ </xsd:all>
+ </xsd:complexType>
+
+ <xsd:complexType name="telephonySmsCreditInfoReturn">
+ <xsd:all>
+ <xsd:element name="waiting" type="xsd:int"/>
+ <xsd:element name="left" type="xsd:int"/>
+ </xsd:all>
+ </xsd:complexType>
+
+ <xsd:complexType name="telephonySmsHistoryStruct">
+ <xsd:all>
+ <xsd:element name="smsId" type="xsd:int"/>
+ <xsd:element name="numberFrom" type="xsd:string"/>
+ <xsd:element name="numberTo" type="xsd:string"/>
+ <xsd:element name="status" type="xsd:string"/>
+ <xsd:element name="date" type="xsd:string"/>
+ <xsd:element name="message" type="xsd:string"/>
+ <xsd:element name="text" type="xsd:string"/>
+ <xsd:element name="user" type="xsd:string"/>
+ <xsd:element name="tag" type="xsd:string"/>
+ </xsd:all>
+ </xsd:complexType>
+
+ <x