<?xml version="1.0" encoding="ISO-8859-1"?>
<definitions xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="http://bgpmon.net/bgpmon" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://bgpmon.net/bgpmon">
<types>
<xsd:schema targetNamespace="http://bgpmon.net/bgpmon"
>
 <xsd:import namespace="http://schemas.xmlsoap.org/soap/encoding/" />
 <xsd:import namespace="http://schemas.xmlsoap.org/wsdl/" />
 <xsd:complexType name="Prefix_info">
  <xsd:all>
   <xsd:element name="prefix" type="xsd:string"/>
   <xsd:element name="prefix_description" type="xsd:string"/>
   <xsd:element name="country_code" type="xsd:string"/>
   <xsd:element name="origin_as" type="xsd:string"/>
   <xsd:element name="origin_as_name" type="xsd:string"/>
  </xsd:all>
 </xsd:complexType>
 <xsd:complexType name="prefix_info_Array">
  <xsd:complexContent>
   <xsd:restriction base="SOAP-ENC:Array">
    <xsd:attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="tns:Prefix_info[]"/>
   </xsd:restriction>
  </xsd:complexContent>
 </xsd:complexType>
 <xsd:complexType name="Alert">
  <xsd:all>
   <xsd:element name="alert_id" type="xsd:int"/>
   <xsd:element name="alert_code" type="xsd:int"/>
   <xsd:element name="no_peers" type="xsd:int"/>
   <xsd:element name="date" type="xsd:string"/>
   <xsd:element name="monitored_network" type="xsd:string"/>
   <xsd:element name="monitored_AS" type="xsd:int"/>
   <xsd:element name="announced_prefix" type="xsd:string"/>
   <xsd:element name="origin_AS" type="xsd:int"/>
   <xsd:element name="transit_AS" type="xsd:int"/>
   <xsd:element name="cleared" type="xsd:boolean"/>
  </xsd:all>
 </xsd:complexType>
 <xsd:complexType name="alert_Array">
  <xsd:complexContent>
   <xsd:restriction base="SOAP-ENC:Array">
    <xsd:attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="tns:Alert[]"/>
   </xsd:restriction>
  </xsd:complexContent>
 </xsd:complexType>
 <xsd:complexType name="alert_detail_Array">
  <xsd:complexContent>
   <xsd:restriction base="SOAP-ENC:Array">
    <xsd:attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="tns:alert_detail[]"/>
   </xsd:restriction>
  </xsd:complexContent>
 </xsd:complexType>
 <xsd:complexType name="alert_detail">
  <xsd:all>
   <xsd:element name="update_time" type="xsd:string"/>
   <xsd:element name="update_type" type="xsd:string"/>
   <xsd:element name="peer_as" type="xsd:int"/>
   <xsd:element name="peer_ip" type="xsd:string"/>
   <xsd:element name="prefix" type="xsd:string"/>
   <xsd:element name="ASpath" type="xsd:string"/>
   <xsd:element name="cleared" type="xsd:boolean"/>
   <xsd:element name="cleared_time" type="xsd:string"/>
  </xsd:all>
 </xsd:complexType>
 <xsd:complexType name="Prefix">
  <xsd:all>
   <xsd:element name="prefix" type="xsd:string"/>
   <xsd:element name="prefix_base" type="xsd:string"/>
   <xsd:element name="prefix_length" type="xsd:int"/>
   <xsd:element name="inet" type="xsd:int"/>
  </xsd:all>
 </xsd:complexType>
 <xsd:complexType name="prefix_Array">
  <xsd:complexContent>
   <xsd:restriction base="SOAP-ENC:Array">
    <xsd:attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="tns:Prefix[]"/>
   </xsd:restriction>
  </xsd:complexContent>
 </xsd:complexType>
</xsd:schema>
</types>
<message name="getIpInfoRequest">
  <part name="ip" type="xsd:string" /></message>
<message name="getIpInfoResponse">
  <part name="return" type="tns:prefix_info_Array" /></message>
<message name="getASNameRequest">
  <part name="AS" type="xsd:int" /></message>
<message name="getASNameResponse">
  <part name="return" type="xsd:string" /></message>
<message name="getPrefixesForASRequest">
  <part name="AS" type="xsd:int" /></message>
<message name="getPrefixesForASResponse">
  <part name="return" type="tns:prefix_Array" /></message>
<message name="getAlertsRequest">
  <part name="bgpmon_email" type="xsd:string" />
  <part name="bgpmon_password" type="xsd:string" />
  <part name="active" type="xsd:boolean" />
  <part name="days" type="xsd:int" />
  <part name="maxcode" type="xsd:int" /></message>
<message name="getAlertsResponse">
  <part name="return" type="tns:alert_Array" /></message>
<message name="getAlertDetailsRequest">
  <part name="bgpmon_email" type="xsd:string" />
  <part name="bgpmon_password" type="xsd:string" />
  <part name="alert_id" type="xsd:int" /></message>
<message name="getAlertDetailsResponse">
  <part name="return" type="tns:alert_detail_Array" /></message>
<message name="getCountryRequest">
  <part name="ip_address" type="xsd:string" /></message>
<message name="getCountryResponse">
  <part name="return" type="xsd:string" /></message>
<portType name="bgpmonPortType">
  <operation name="getIpInfo">
    <documentation>Returns BGP prefix, origin AS,  AS description and country code for an
	IPv4 or IPv6 address</documentation>
    <input message="tns:getIpInfoRequest"/>
    <output message="tns:getIpInfoResponse"/>
  </operation>
  <operation name="getASName">
    <documentation>Returns an ASname and AS description for an AS number</documentation>
    <input message="tns:getASNameRequest"/>
    <output message="tns:getASNameResponse"/>
  </operation>
  <operation name="getPrefixesForAS">
    <documentation>Returns and array of prefixes announced by the requested AS number</documentation>
    <input message="tns:getPrefixesForASRequest"/>
    <output message="tns:getPrefixesForASResponse"/>
  </operation>
  <operation name="getAlerts">
    <documentation>Returns a list of BGPmon.net alerts. accepts number of arguments (BGPmon
	email address, BGPmon password, maxcode, days, active) to filter the results</documentation>
    <input message="tns:getAlertsRequest"/>
    <output message="tns:getAlertsResponse"/>
  </operation>
  <operation name="getAlertDetails">
    <documentation>Returns a list of BGP messages detected by each peer that recorded this
	alert. Input is BGPmon email address, BGPmon pasword, alert-id</documentation>
    <input message="tns:getAlertDetailsRequest"/>
    <output message="tns:getAlertDetailsResponse"/>
  </operation>
  <operation name="getCountry">
    <documentation>Returns the country code for a certain IPv4 or IPv6 address</documentation>
    <input message="tns:getCountryRequest"/>
    <output message="tns:getCountryResponse"/>
  </operation>
</portType>
<binding name="bgpmonBinding" type="tns:bgpmonPortType">
  <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
  <operation name="getIpInfo">
    <soap:operation soapAction="http://www.bgpmon.net/soap/server.php/getIpInfo" style="rpc"/>
    <input><soap:body use="encoded" namespace="http://bgpmon.net/bgpmon" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></input>
    <output><soap:body use="encoded" namespace="http://bgpmon.net/bgpmon" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></output>
  </operation>
  <operation name="getASName">
    <soap:operation soapAction="http://www.bgpmon.net/soap/server.php/getASName" style="rpc"/>
    <input><soap:body use="encoded" namespace="http://bgpmon.net/bgpmon" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></input>
    <output><soap:body use="encoded" namespace="http://bgpmon.net/bgpmon" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></output>
  </operation>
  <operation name="getPrefixesForAS">
    <soap:operation soapAction="http://www.bgpmon.net/soap/server.php/getPrefixesForAS" style="rpc"/>
    <input><soap:body use="encoded" namespace="http://bgpmon.net/bgpmon" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></input>
    <output><soap:body use="encoded" namespace="http://bgpmon.net/bgpmon" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></output>
  </operation>
  <operation name="getAlerts">
    <soap:operation soapAction="http://www.bgpmon.net/soap/server.php/getAlerts" style="rpc"/>
    <input><soap:body use="encoded" namespace="http://bgpmon.net/bgpmon" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></input>
    <output><soap:body use="encoded" namespace="http://bgpmon.net/bgpmon" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></output>
  </operation>
  <operation name="getAlertDetails">
    <soap:operation soapAction="http://www.bgpmon.net/soap/server.php/getAlertDetails" style="rpc"/>
    <input><soap:body use="encoded" namespace="http://bgpmon.net/bgpmon" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></input>
    <output><soap:body use="encoded" namespace="http://bgpmon.net/bgpmon" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></output>
  </operation>
  <operation name="getCountry">
    <soap:operation soapAction="http://www.bgpmon.net/soap/server.php/getCountry" style="rpc"/>
    <input><soap:body use="encoded" namespace="http://bgpmon.net/bgpmon" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></input>
    <output><soap:body use="encoded" namespace="http://bgpmon.net/bgpmon" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/></output>
  </operation>
</binding>
<service name="bgpmon">
  <port name="bgpmonPort" binding="tns:bgpmonBinding">
    <soap:address location="http://www.bgpmon.net/soap/server.php"/>
  </port>
</service>
</definitions>