<?xml version="1.0" encoding="utf-8"?>
<wsdl:definitions xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="http://upsidewireless.com/webservice/account" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" targetNamespace="http://upsidewireless.com/webservice/account" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
  <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">&lt;P class=intro&gt;&lt;B&gt;&lt;FONT size=2&gt;General Parameters&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;&lt;DIV align=left&gt;&lt;TABLE id=table1 cellSpacing=0 borderColorDark=#c0c0c0 cellPadding=2 width=800 borderColorLight=#c0c0c0 border=1&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD width=154&gt;&lt;B&gt;&lt;FONT size=2&gt;Parameter&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;&lt;TD width=357&gt;&lt;B&gt;&lt;FONT size=2&gt;Description&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;&lt;TD&gt;&lt;B&gt;&lt;FONT size=2&gt;Example&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD width=154 bgColor=#c0c0c0&gt;&lt;SPAN&gt;Token and Signature&lt;/SPAN&gt;&lt;/TD&gt;&lt;TD width=357&gt;Used to authenticate your request. They are proxies for your username and password&lt;/TD&gt;&lt;TD&gt;&lt;SPAN&gt;&amp;nbsp;Use &lt;A href='http://api.upsidewireless.com/soap/Authentication.asmx'&gt;&lt;STRONG&gt;&lt;FONT color=#336699&gt;GetParameters&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/A&gt; to generate token and signature from your username and password.&lt;/SPAN&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD colspan='3'&gt;&lt;TABLE cellSpacing=0 borderColorDark=#c0c0c0 cellPadding=2 width=800 borderColorLight=#c0c0c0 border=1&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TH width=154&gt;Error Codes&lt;/TH&gt;&lt;TH&gt;Description&lt;/TH&gt;&lt;/TR&gt; &lt;TR&gt;&lt;TD&gt;NO_ERROR&lt;/TD&gt;&lt;TD&gt;API call was successful&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;GENERAL_ERROR&lt;/TD&gt;&lt;TD&gt;Unclassified error, mostly internal error&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;UNAUTHORIZED_ACCESS&lt;/TD&gt;&lt;TD&gt;Wrong token or signature. Or have no specific permissions&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;USERNAME_IN_USE&lt;/TD&gt;&lt;TD&gt;Requested username already exists&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;EMAIL_ADDRESS_IN_USE&lt;/TD&gt;&lt;TD&gt;Requested email address already exists&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;SMSIN_IN_USE&lt;/TD&gt;&lt;TD&gt;Requested smsIN is already in use&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;WEBTEXT_IN_USE&lt;/TD&gt;&lt;TD&gt;Requested webText is already in use&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;DEVICE_IN_USE&lt;/TD&gt;&lt;TD&gt;Requested device is already in use&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;INVALID_USERNAME&lt;/TD&gt;&lt;TD&gt;Username must be 6 to 15 characters long and can't be a number or contain invalid characters. Valid characters are '-_0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;INVALID_PASSWORD&lt;/TD&gt;&lt;TD&gt;Password must be 6 to 15 characters long and must contain at least one digit and should not contain invalid characters&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;INVALID_FISTNAME&lt;/TD&gt;&lt;TD&gt;First name must not be empty and be 1 to 14 characters long&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;INVALID_LASTNAME&lt;/TD&gt;&lt;TD&gt;Last name must not be empty and be 1 to 14 characters long&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;INVALID_EMAIL_ADDRESS&lt;/TD&gt;&lt;TD&gt;Email address must be valid and domain is not in blocked list&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;INVALID_SMSIN&lt;/TD&gt;&lt;TD&gt;smsIN must be either empty or 4 to 6 characters long&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;INVALID_WEBTEXT&lt;/TD&gt;&lt;TD&gt;WebText must be either empty or 6 to 12 characters long&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;INVALID_PARAMETER&lt;/TD&gt;&lt;TD&gt;Parameter is invalid&lt;/TD&gt;&lt;/TR&gt; &lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/DIV&gt;</wsdl:documentation>
  <wsdl:types>
    <s:schema elementFormDefault="qualified" targetNamespace="http://upsidewireless.com/webservice/account">
      <s:element name="AddUser">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="token" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="signature" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="userName" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="passWord" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="firstName" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="lastName" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="emailAddress" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="smsIN" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="webText" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="comment" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="AddUserResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="1" maxOccurs="1" name="AddUserResult" type="tns:AddUserResult" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:complexType name="AddUserResult">
        <s:sequence>
          <s:element minOccurs="1" maxOccurs="1" name="isOk" type="s:boolean" />
          <s:element minOccurs="1" maxOccurs="1" name="errorCode" type="tns:ErrorCodes" />
          <s:element minOccurs="0" maxOccurs="1" name="message" type="s:string" />
        </s:sequence>
      </s:complexType>
      <s:simpleType name="ErrorCodes">
        <s:restriction base="s:string">
          <s:enumeration value="GENERAL_ERROR" />
          <s:enumeration value="UNAUTHORIZED_ACCESS" />
          <s:enumeration value="USERNAME_IN_USE" />
          <s:enumeration value="EMAIL_ADDRESS_IN_USE" />
          <s:enumeration value="DEVICE_IN_USE" />
          <s:enumeration value="SMSIN_IN_USE" />
          <s:enumeration value="WEBTEXT_IN_USE" />
          <s:enumeration value="INVALID_USERNAME" />
          <s:enumeration value="INVALID_PASSWORD" />
          <s:enumeration value="INVALID_FISTNAME" />
          <s:enumeration value="INVALID_LASTNAME" />
          <s:enumeration value="INVALID_EMAIL_ADDRESS" />
          <s:enumeration value="INVALID_SMSIN" />
          <s:enumeration value="INVALID_WEBTEXT" />
          <s:enumeration value="INVALID_PARAMETER" />
          <s:enumeration value="NO_ERROR" />
        </s:restriction>
      </s:simpleType>
      <s:element name="AddUser_Extended">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="token" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="signature" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="userName" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="passWord" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="firstName" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="lastName" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="emailAddress" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="smsIN" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="webText" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="comment" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="externalId" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="companyName" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="AddUser_ExtendedResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="1" maxOccurs="1" name="AddUser_ExtendedResult" type="tns:AddUserResult" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="Info_Get">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="token" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="signature" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="Info_GetResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="1" maxOccurs="1" name="Info_GetResult" type="tns:UserInfo" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:complexType name="UserInfo">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="1" name="Username" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="Firstname" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="Lastname" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="Domain" type="s:string" />
          <s:element minOccurs="0" maxOccurs="1" name="Servicename" type="s:string" />
        </s:sequence>
      </s:complexType>
      <s:element name="Balance_Get">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="token" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="signature" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="Balance_GetResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="1" maxOccurs="1" name="Balance_GetResult" type="s:double" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="TransferCreditsToSubUser">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="token" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="signature" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="userName" type="s:string" />
            <s:element minOccurs="1" maxOccurs="1" name="credits" type="s:double" />
            <s:element minOccurs="0" maxOccurs="1" name="description" type="s:string" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="TransferCreditsToSubUserResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="1" maxOccurs="1" name="TransferCreditsToSubUserResult" type="tns:TransferCreditsToSubUserResult" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:complexType name="TransferCreditsToSubUserResult">
        <s:sequence>
          <s:element minOccurs="1" maxOccurs="1" name="isOk" type="s:boolean" />
          <s:element minOccurs="1" maxOccurs="1" name="errorCode" type="tns:ErrorCodes" />
          <s:element minOccurs="0" maxOccurs="1" name="message" type="s:string" />
        </s:sequence>
      </s:complexType>
      <s:element name="RegisterDeviceForSubUser">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="token" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="signature" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="userName" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="device" type="s:string" />
            <s:element minOccurs="1" maxOccurs="1" name="type" type="tns:DeviceType" />
            <s:element minOccurs="1" maxOccurs="1" name="createForwardRule" type="s:boolean" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:simpleType name="DeviceType">
        <s:restriction base="s:string">
          <s:enumeration value="SMS" />
          <s:enumeration value="Email" />
          <s:enumeration value="URL" />
        </s:restriction>
      </s:simpleType>
      <s:element name="RegisterDeviceForSubUserResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="1" maxOccurs="1" name="RegisterDeviceForSubUserResult" type="tns:RegisterDeviceForSubUserResult" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:complexType name="RegisterDeviceForSubUserResult">
        <s:sequence>
          <s:element minOccurs="1" maxOccurs="1" name="isOk" type="s:boolean" />
          <s:element minOccurs="1" maxOccurs="1" name="errorCode" type="tns:ErrorCodes" />
          <s:element minOccurs="0" maxOccurs="1" name="message" type="s:string" />
        </s:sequence>
      </s:complexType>
      <s:element name="AddUserResult" type="tns:AddUserResult" />
      <s:element name="UserInfo" type="tns:UserInfo" />
      <s:element name="double" type="s:double" />
      <s:element name="TransferCreditsToSubUserResult" type="tns:TransferCreditsToSubUserResult" />
      <s:element name="RegisterDeviceForSubUserResult" type="tns:RegisterDeviceForSubUserResult" />
    </s:schema>
  </wsdl:types>
  <wsdl:message name="AddUserSoapIn">
    <wsdl:part name="parameters" element="tns:AddUser" />
  </wsdl:message>
  <wsdl:message name="AddUserSoapOut">
    <wsdl:part name="parameters" element="tns:AddUserResponse" />
  </wsdl:message>
  <wsdl:message name="AddUser_ExtendedSoapIn">
    <wsdl:part name="parameters" element="tns:AddUser_Extended" />
  </wsdl:message>
  <wsdl:message name="AddUser_ExtendedSoapOut">
    <wsdl:part name="parameters" element="tns:AddUser_ExtendedResponse" />
  </wsdl:message>
  <wsdl:message name="Info_GetSoapIn">
    <wsdl:part name="parameters" element="tns:Info_Get" />
  </wsdl:message>
  <wsdl:message name="Info_GetSoapOut">
    <wsdl:part name="parameters" element="tns:Info_GetResponse" />
  </wsdl:message>
  <wsdl:message name="Balance_GetSoapIn">
    <wsdl:part name="parameters" element="tns:Balance_Get" />
  </wsdl:message>
  <wsdl:message name="Balance_GetSoapOut">
    <wsdl:part name="parameters" element="tns:Balance_GetResponse" />
  </wsdl:message>
  <wsdl:message name="TransferCreditsToSubUserSoapIn">
    <wsdl:part name="parameters" element="tns:TransferCreditsToSubUser" />
  </wsdl:message>
  <wsdl:message name="TransferCreditsToSubUserSoapOut">
    <wsdl:part name="parameters" element="tns:TransferCreditsToSubUserResponse" />
  </wsdl:message>
  <wsdl:message name="RegisterDeviceForSubUserSoapIn">
    <wsdl:part name="parameters" element="tns:RegisterDeviceForSubUser" />
  </wsdl:message>
  <wsdl:message name="RegisterDeviceForSubUserSoapOut">
    <wsdl:part name="parameters" element="tns:RegisterDeviceForSubUserResponse" />
  </wsdl:message>
  <wsdl:message name="AddUserHttpGetIn">
    <wsdl:part name="token" type="s:string" />
    <wsdl:part name="signature" type="s:string" />
    <wsdl:part name="userName" type="s:string" />
    <wsdl:part name="passWord" type="s:string" />
    <wsdl:part name="firstName" type="s:string" />
    <wsdl:part name="lastName" type="s:string" />
    <wsdl:part name="emailAddress" type="s:string" />
    <wsdl:part name="smsIN" type="s:string" />
    <wsdl:part name="webText" type="s:string" />
    <wsdl:part name="comment" type="s:string" />
  </wsdl:message>
  <wsdl:message name="AddUserHttpGetOut">
    <wsdl:part name="Body" element="tns:AddUserResult" />
  </wsdl:message>
  <wsdl:message name="AddUser_ExtendedHttpGetIn">
    <wsdl:part name="token" type="s:string" />
    <wsdl:part name="signature" type="s:string" />
    <wsdl:part name="userName" type="s:string" />
    <wsdl:part name="passWord" type="s:string" />
    <wsdl:part name="firstName" type="s:string" />
    <wsdl:part name="lastName" type="s:string" />
    <wsdl:part name="emailAddress" type="s:string" />
    <wsdl:part name="smsIN" type="s:string" />
    <wsdl:part name="webText" type="s:string" />
    <wsdl:part name="comment" type="s:string" />
    <wsdl:part name="externalId" type="s:string" />
    <wsdl:part name="companyName" type="s:string" />
  </wsdl:message>
  <wsdl:message name="AddUser_ExtendedHttpGetOut">
    <wsdl:part name="Body" element="tns:AddUserResult" />
  </wsdl:message>
  <wsdl:message name="Info_GetHttpGetIn">
    <wsdl:part name="token" type="s:string" />
    <wsdl:part name="signature" type="s:string" />
  </wsdl:message>
  <wsdl:message name="Info_GetHttpGetOut">
    <wsdl:part name="Body" element="tns:UserInfo" />
  </wsdl:message>
  <wsdl:message name="Balance_GetHttpGetIn">
    <wsdl:part name="token" type="s:string" />
    <wsdl:part name="signature" type="s:string" />
  </wsdl:message>
  <wsdl:message name="Balance_GetHttpGetOut">
    <wsdl:part name="Body" element="tns:double" />
  </wsdl:message>
  <wsdl:message name="TransferCreditsToSubUserHttpGetIn">
    <wsdl:part name="token" type="s:string" />
    <wsdl:part name="signature" type="s:string" />
    <wsdl:part name="userName" type="s:string" />
    <wsdl:part name="credits" type="s:string" />
    <wsdl:part name="description" type="s:string" />
  </wsdl:message>
  <wsdl:message name="TransferCreditsToSubUserHttpGetOut">
    <wsdl:part name="Body" element="tns:TransferCreditsToSubUserResult" />
  </wsdl:message>
  <wsdl:message name="RegisterDeviceForSubUserHttpGetIn">
    <wsdl:part name="token" type="s:string" />
    <wsdl:part name="signature" type="s:string" />
    <wsdl:part name="userName" type="s:string" />
    <wsdl:part name="device" type="s:string" />
    <wsdl:part name="type" type="s:string" />
    <wsdl:part name="createForwardRule" type="s:string" />
  </wsdl:message>
  <wsdl:message name="RegisterDeviceForSubUserHttpGetOut">
    <wsdl:part name="Body" element="tns:RegisterDeviceForSubUserResult" />
  </wsdl:message>
  <wsdl:message name="AddUserHttpPostIn">
    <wsdl:part name="token" type="s:string" />
    <wsdl:part name="signature" type="s:string" />
    <wsdl:part name="userName" type="s:string" />
    <wsdl:part name="passWord" type="s:string" />
    <wsdl:part name="firstName" type="s:string" />
    <wsdl:part name="lastName" type="s:string" />
    <wsdl:part name="emailAddress" type="s:string" />
    <wsdl:part name="smsIN" type="s:string" />
    <wsdl:part name="webText" type="s:string" />
    <wsdl:part name="comment" type="s:string" />
  </wsdl:message>
  <wsdl:message name="AddUserHttpPostOut">
    <wsdl:part name="Body" element="tns:AddUserResult" />
  </wsdl:message>
  <wsdl:message name="AddUser_ExtendedHttpPostIn">
    <wsdl:part name="token" type="s:string" />
    <wsdl:part name="signature" type="s:string" />
    <wsdl:part name="userName" type="s:string" />
    <wsdl:part name="passWord" type="s:string" />
    <wsdl:part name="firstName" type="s:string" />
    <wsdl:part name="lastName" type="s:string" />
    <wsdl:part name="emailAddress" type="s:string" />
    <wsdl:part name="smsIN" type="s:string" />
    <wsdl:part name="webText" type="s:string" />
    <wsdl:part name="comment" type="s:string" />
    <wsdl:part name="externalId" type="s:string" />
    <wsdl:part name="companyName" type="s:string" />
  </wsdl:message>
  <wsdl:message name="AddUser_ExtendedHttpPostOut">
    <wsdl:part name="Body" element="tns:AddUserResult" />
  </wsdl:message>
  <wsdl:message name="Info_GetHttpPostIn">
    <wsdl:part name="token" type="s:string" />
    <wsdl:part name="signature" type="s:string" />
  </wsdl:message>
  <wsdl:message name="Info_GetHttpPostOut">
    <wsdl:part name="Body" element="tns:UserInfo" />
  </wsdl:message>
  <wsdl:message name="Balance_GetHttpPostIn">
    <wsdl:part name="token" type="s:string" />
    <wsdl:part name="signature" type="s:string" />
  </wsdl:message>
  <wsdl:message name="Balance_GetHttpPostOut">
    <wsdl:part name="Body" element="tns:double" />
  </wsdl:message>
  <wsdl:message name="TransferCreditsToSubUserHttpPostIn">
    <wsdl:part name="token" type="s:string" />
    <wsdl:part name="signature" type="s:string" />
    <wsdl:part name="userName" type="s:string" />
    <wsdl:part name="credits" type="s:string" />
    <wsdl:part name="description" type="s:string" />
  </wsdl:message>
  <wsdl:message name="TransferCreditsToSubUserHttpPostOut">
    <wsdl:part name="Body" element="tns:TransferCreditsToSubUserResult" />
  </wsdl:message>
  <wsdl:message name="RegisterDeviceForSubUserHttpPostIn">
    <wsdl:part name="token" type="s:string" />
    <wsdl:part name="signature" type="s:string" />
    <wsdl:part name="userName" type="s:string" />
    <wsdl:part name="device" type="s:string" />
    <wsdl:part name="type" type="s:string" />
    <wsdl:part name="createForwardRule" type="s:string" />
  </wsdl:message>
  <wsdl:message name="RegisterDeviceForSubUserHttpPostOut">
    <wsdl:part name="Body" element="tns:RegisterDeviceForSubUserResult" />
  </wsdl:message>
  <wsdl:portType name="AccountSoap">
    <wsdl:operation name="AddUser">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Use this function to create a new user. Fields such as smsIN, webText and comment are optional.</wsdl:documentation>
      <wsdl:input message="tns:AddUserSoapIn" />
      <wsdl:output message="tns:AddUserSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="AddUser_Extended">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Use this function to create a new user. Fields such as smsIN, webText and comment are optional.</wsdl:documentation>
      <wsdl:input message="tns:AddUser_ExtendedSoapIn" />
      <wsdl:output message="tns:AddUser_ExtendedSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="Info_Get">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Returns information about the user</wsdl:documentation>
      <wsdl:input message="tns:Info_GetSoapIn" />
      <wsdl:output message="tns:Info_GetSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="Balance_Get">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Gets the committed credit balance for the user.</wsdl:documentation>
      <wsdl:input message="tns:Balance_GetSoapIn" />
      <wsdl:output message="tns:Balance_GetSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="TransferCreditsToSubUser">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Transfer credits to a sub user.</wsdl:documentation>
      <wsdl:input message="tns:TransferCreditsToSubUserSoapIn" />
      <wsdl:output message="tns:TransferCreditsToSubUserSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="RegisterDeviceForSubUser">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Register device for sub user. (a forwarding rule for this device will also be created if set createForwardRule to true)</wsdl:documentation>
      <wsdl:input message="tns:RegisterDeviceForSubUserSoapIn" />
      <wsdl:output message="tns:RegisterDeviceForSubUserSoapOut" />
    </wsdl:operation>
  </wsdl:portType>
  <wsdl:portType name="AccountHttpGet">
    <wsdl:operation name="AddUser">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Use this function to create a new user. Fields such as smsIN, webText and comment are optional.</wsdl:documentation>
      <wsdl:input message="tns:AddUserHttpGetIn" />
      <wsdl:output message="tns:AddUserHttpGetOut" />
    </wsdl:operation>
    <wsdl:operation name="AddUser_Extended">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Use this function to create a new user. Fields such as smsIN, webText and comment are optional.</wsdl:documentation>
      <wsdl:input message="tns:AddUser_ExtendedHttpGetIn" />
      <wsdl:output message="tns:AddUser_ExtendedHttpGetOut" />
    </wsdl:operation>
    <wsdl:operation name="Info_Get">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Returns information about the user</wsdl:documentation>
      <wsdl:input message="tns:Info_GetHttpGetIn" />
      <wsdl:output message="tns:Info_GetHttpGetOut" />
    </wsdl:operation>
    <wsdl:operation name="Balance_Get">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Gets the committed credit balance for the user.</wsdl:documentation>
      <wsdl:input message="tns:Balance_GetHttpGetIn" />
      <wsdl:output message="tns:Balance_GetHttpGetOut" />
    </wsdl:operation>
    <wsdl:operation name="TransferCreditsToSubUser">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Transfer credits to a sub user.</wsdl:documentation>
      <wsdl:input message="tns:TransferCreditsToSubUserHttpGetIn" />
      <wsdl:output message="tns:TransferCreditsToSubUserHttpGetOut" />
    </wsdl:operation>
    <wsdl:operation name="RegisterDeviceForSubUser">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Register device for sub user. (a forwarding rule for this device will also be created if set createForwardRule to true)</wsdl:documentation>
      <wsdl:input message="tns:RegisterDeviceForSubUserHttpGetIn" />
      <wsdl:output message="tns:RegisterDeviceForSubUserHttpGetOut" />
    </wsdl:operation>
  </wsdl:portType>
  <wsdl:portType name="AccountHttpPost">
    <wsdl:operation name="AddUser">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Use this function to create a new user. Fields such as smsIN, webText and comment are optional.</wsdl:documentation>
      <wsdl:input message="tns:AddUserHttpPostIn" />
      <wsdl:output message="tns:AddUserHttpPostOut" />
    </wsdl:operation>
    <wsdl:operation name="AddUser_Extended">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Use this function to create a new user. Fields such as smsIN, webText and comment are optional.</wsdl:documentation>
      <wsdl:input message="tns:AddUser_ExtendedHttpPostIn" />
      <wsdl:output message="tns:AddUser_ExtendedHttpPostOut" />
    </wsdl:operation>
    <wsdl:operation name="Info_Get">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Returns information about the user</wsdl:documentation>
      <wsdl:input message="tns:Info_GetHttpPostIn" />
      <wsdl:output message="tns:Info_GetHttpPostOut" />
    </wsdl:operation>
    <wsdl:operation name="Balance_Get">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Gets the committed credit balance for the user.</wsdl:documentation>
      <wsdl:input message="tns:Balance_GetHttpPostIn" />
      <wsdl:output message="tns:Balance_GetHttpPostOut" />
    </wsdl:operation>
    <wsdl:operation name="TransferCreditsToSubUser">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Transfer credits to a sub user.</wsdl:documentation>
      <wsdl:input message="tns:TransferCreditsToSubUserHttpPostIn" />
      <wsdl:output message="tns:TransferCreditsToSubUserHttpPostOut" />
    </wsdl:operation>
    <wsdl:operation name="RegisterDeviceForSubUser">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Register device for sub user. (a forwarding rule for this device will also be created if set createForwardRule to true)</wsdl:documentation>
      <wsdl:input message="tns:RegisterDeviceForSubUserHttpPostIn" />
      <wsdl:output message="tns:RegisterDeviceForSubUserHttpPostOut" />
    </wsdl:operation>
  </wsdl:portType>
  <wsdl:binding name="AccountSoap" type="tns:AccountSoap">
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
    <wsdl:operation name="AddUser">
      <soap:operation soapAction="http://upsidewireless.com/webservice/account/AddUser" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="AddUser_Extended">
      <soap:operation soapAction="http://upsidewireless.com/webservice/account/AddUser_Extended" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="Info_Get">
      <soap:operation soapAction="http://upsidewireless.com/webservice/account/Info_Get" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="Balance_Get">
      <soap:operation soapAction="http://upsidewireless.com/webservice/account/Balance_Get" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="TransferCreditsToSubUser">
      <soap:operation soapAction="http://upsidewireless.com/webservice/account/TransferCreditsToSubUser" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="RegisterDeviceForSubUser">
      <soap:operation soapAction="http://upsidewireless.com/webservice/account/RegisterDeviceForSubUser" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
  </wsdl:binding>
  <wsdl:binding name="AccountSoap12" type="tns:AccountSoap">
    <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" />
    <wsdl:operation name="AddUser">
      <soap12:operation soapAction="http://upsidewireless.com/webservice/account/AddUser" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="AddUser_Extended">
      <soap12:operation soapAction="http://upsidewireless.com/webservice/account/AddUser_Extended" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="Info_Get">
      <soap12:operation soapAction="http://upsidewireless.com/webservice/account/Info_Get" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="Balance_Get">
      <soap12:operation soapAction="http://upsidewireless.com/webservice/account/Balance_Get" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="TransferCreditsToSubUser">
      <soap12:operation soapAction="http://upsidewireless.com/webservice/account/TransferCreditsToSubUser" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="RegisterDeviceForSubUser">
      <soap12:operation soapAction="http://upsidewireless.com/webservice/account/RegisterDeviceForSubUser" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
  </wsdl:binding>
  <wsdl:binding name="AccountHttpGet" type="tns:AccountHttpGet">
    <http:binding verb="GET" />
    <wsdl:operation name="AddUser">
      <http:operation location="/AddUser" />
      <wsdl:input>
        <http:urlEncoded />
      </wsdl:input>
      <wsdl:output>
        <mime:mimeXml part="Body" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="AddUser_Extended">
      <http:operation location="/AddUser_Extended" />
      <wsdl:input>
        <http:urlEncoded />
      </wsdl:input>
      <wsdl:output>
        <mime:mimeXml part="Body" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="Info_Get">
      <http:operation location="/Info_Get" />
      <wsdl:input>
        <http:urlEncoded />
      </wsdl:input>
      <wsdl:output>
        <mime:mimeXml part="Body" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="Balance_Get">
      <http:operation location="/Balance_Get" />
      <wsdl:input>
        <http:urlEncoded />
      </wsdl:input>
      <wsdl:output>
        <mime:mimeXml part="Body" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="TransferCreditsToSubUser">
      <http:operation location="/TransferCreditsToSubUser" />
      <wsdl:input>
        <http:urlEncoded />
      </wsdl:input>
      <wsdl:output>
        <mime:mimeXml part="Body" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="RegisterDeviceForSubUser">
      <http:operation location="/RegisterDeviceForSubUser" />
      <wsdl:input>
        <http:urlEncoded />
      </wsdl:input>
      <wsdl:output>
        <mime:mimeXml part="Body" />
      </wsdl:output>
    </wsdl:operation>
  </wsdl:binding>
  <wsdl:binding name="AccountHttpPost" type="tns:AccountHttpPost">
    <http:binding verb="POST" />
    <wsdl:operation name="AddUser">
      <http:operation location="/AddUser" />
      <wsdl:input>
        <mime:content type="application/x-www-form-urlencoded" />
      </wsdl:input>
      <wsdl:output>
        <mime:mimeXml part="Body" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="AddUser_Extended">
      <http:operation location="/AddUser_Extended" />
      <wsdl:input>
        <mime:content type="application/x-www-form-urlencoded" />
      </wsdl:input>
      <wsdl:output>
        <mime:mimeXml part="Body" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="Info_Get">
      <http:operation location="/Info_Get" />
      <wsdl:input>
        <mime:content type="application/x-www-form-urlencoded" />
      </wsdl:input>
      <wsdl:output>
        <mime:mimeXml part="Body" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="Balance_Get">
      <http:operation location="/Balance_Get" />
      <wsdl:input>
        <mime:content type="application/x-www-form-urlencoded" />
      </wsdl:input>
      <wsdl:output>
        <mime:mimeXml part="Body" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="TransferCreditsToSubUser">
      <http:operation location="/TransferCreditsToSubUser" />
      <wsdl:input>
        <mime:content type="application/x-www-form-urlencoded" />
      </wsdl:input>
      <wsdl:output>
        <mime:mimeXml part="Body" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="RegisterDeviceForSubUser">
      <http:operation location="/RegisterDeviceForSubUser" />
      <wsdl:input>
        <mime:content type="application/x-www-form-urlencoded" />
      </wsdl:input>
      <wsdl:output>
        <mime:mimeXml part="Body" />
      </wsdl:output>
    </wsdl:operation>
  </wsdl:binding>
  <wsdl:service name="Account">
    <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">&lt;P class=intro&gt;&lt;B&gt;&lt;FONT size=2&gt;General Parameters&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;&lt;DIV align=left&gt;&lt;TABLE id=table1 cellSpacing=0 borderColorDark=#c0c0c0 cellPadding=2 width=800 borderColorLight=#c0c0c0 border=1&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD width=154&gt;&lt;B&gt;&lt;FONT size=2&gt;Parameter&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;&lt;TD width=357&gt;&lt;B&gt;&lt;FONT size=2&gt;Description&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;&lt;TD&gt;&lt;B&gt;&lt;FONT size=2&gt;Example&lt;/FONT&gt;&lt;/B&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD width=154 bgColor=#c0c0c0&gt;&lt;SPAN&gt;Token and Signature&lt;/SPAN&gt;&lt;/TD&gt;&lt;TD width=357&gt;Used to authenticate your request. They are proxies for your username and password&lt;/TD&gt;&lt;TD&gt;&lt;SPAN&gt;&amp;nbsp;Use &lt;A href='http://api.upsidewireless.com/soap/Authentication.asmx'&gt;&lt;STRONG&gt;&lt;FONT color=#336699&gt;GetParameters&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/A&gt; to generate token and signature from your username and password.&lt;/SPAN&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD colspan='3'&gt;&lt;TABLE cellSpacing=0 borderColorDark=#c0c0c0 cellPadding=2 width=800 borderColorLight=#c0c0c0 border=1&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TH width=154&gt;Error Codes&lt;/TH&gt;&lt;TH&gt;Description&lt;/TH&gt;&lt;/TR&gt; &lt;TR&gt;&lt;TD&gt;NO_ERROR&lt;/TD&gt;&lt;TD&gt;API call was successful&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;GENERAL_ERROR&lt;/TD&gt;&lt;TD&gt;Unclassified error, mostly internal error&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;UNAUTHORIZED_ACCESS&lt;/TD&gt;&lt;TD&gt;Wrong token or signature. Or have no specific permissions&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;USERNAME_IN_USE&lt;/TD&gt;&lt;TD&gt;Requested username already exists&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;EMAIL_ADDRESS_IN_USE&lt;/TD&gt;&lt;TD&gt;Requested email address already exists&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;SMSIN_IN_USE&lt;/TD&gt;&lt;TD&gt;Requested smsIN is already in use&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;WEBTEXT_IN_USE&lt;/TD&gt;&lt;TD&gt;Requested webText is already in use&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;DEVICE_IN_USE&lt;/TD&gt;&lt;TD&gt;Requested device is already in use&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;INVALID_USERNAME&lt;/TD&gt;&lt;TD&gt;Username must be 6 to 15 characters long and can't be a number or contain invalid characters. Valid characters are '-_0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;INVALID_PASSWORD&lt;/TD&gt;&lt;TD&gt;Password must be 6 to 15 characters long and must contain at least one digit and should not contain invalid characters&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;INVALID_FISTNAME&lt;/TD&gt;&lt;TD&gt;First name must not be empty and be 1 to 14 characters long&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;INVALID_LASTNAME&lt;/TD&gt;&lt;TD&gt;Last name must not be empty and be 1 to 14 characters long&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;INVALID_EMAIL_ADDRESS&lt;/TD&gt;&lt;TD&gt;Email address must be valid and domain is not in blocked list&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;INVALID_SMSIN&lt;/TD&gt;&lt;TD&gt;smsIN must be either empty or 4 to 6 characters long&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;INVALID_WEBTEXT&lt;/TD&gt;&lt;TD&gt;WebText must be either empty or 6 to 12 characters long&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD&gt;INVALID_PARAMETER&lt;/TD&gt;&lt;TD&gt;Parameter is invalid&lt;/TD&gt;&lt;/TR&gt; &lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/DIV&gt;</wsdl:documentation>
    <wsdl:port name="AccountSoap" binding="tns:AccountSoap">
      <soap:address location="http://api.upsidewireless.com/soap/Account.asmx" />
    </wsdl:port>
    <wsdl:port name="AccountSoap12" binding="tns:AccountSoap12">
      <soap12:address location="http://api.upsidewireless.com/soap/Account.asmx" />
    </wsdl:port>
    <wsdl:port name="AccountHttpGet" binding="tns:AccountHttpGet">
      <http:address location="http://api.upsidewireless.com/soap/Account.asmx" />
    </wsdl:port>
    <wsdl:port name="AccountHttpPost" binding="tns:AccountHttpPost">
      <http:address location="http://api.upsidewireless.com/soap/Account.asmx" />
    </wsdl:port>
  </wsdl:service>
</wsdl:definitions>