MSN Transport 1.1 documentation

To build, make sure the msn-transport directory is in your Jabber directory 1.4 and
type 'make'.

Configuration
-------------

  <service id="msn.mydomain">
    <msntrans xmlns="jabber:config:msntrans">
      <instructions>Enter your MSN Messenger account and password. Example: user1@hotmail.com.  Nickname is optional.</instructions>

      <!-- the transport vCard -->
      <vCard>
        <FN>MSN Transport</FN>
        <DESC>This is MSN Transport</DESC>
        <URL>http://foo.bar/</URL>
      </vCard>

      <!-- <prime>501</prime> -->

      <!-- This is used to override the default MSN Messenger server that MSN Transport uses. -->
      <!-- <server-ip>64.4.13.57</server-ip/> -->

    </msntrans>

    <load>
      <msntrans>./msn-transport/msntrans.so</msntrans>
    </load>

  </service>

Add this to your JSM browse configuration:

  <browse>

    <service type="msn" jid="msn.mydomain" name="MSN Transport">
      <ns>jabber:iq:gateway</ns>
      <ns>jabber:iq:register</ns>
    </service>

    ...

  </browse>

Separate process
----------------

To increase stability, it is best to separate JSM and MSN Transport into two
separate jabberd processes.  They will communicate via base_accept and
base_connect.  In the below example, the JSM jabberd will act as the server
listening on port "1234" for the MSN Transport connect.

Create a file called msntrans.xml which contains the following XML.

<jabber>

  <!-- msnlinker is the "uplink" to the other jabberd process -->
  <service id="msnlinker">
    <uplink/> <!-- <uplink/> is similar to <host/>, except that is swallows packets of any type, xdb/log/normal -->
    <connect>
      <ip>127.0.0.1</ip>
      <port>1234</port>
      <secret>test</secret>
    </connect>
  </service>

  <service id="msn.mydomain">

    <msntrans xmlns="jabber:config:msntrans">

      <instructions>Enter your MSN Messenger account and password. Example: user1@hotmail.com.  Nickname is optional.</instructions>

      <vCard>
        <FN>MSN Transport</FN>
        <DESC>This is MSN Transport</DESC>
        <URL>http://foo.bar/</URL>
      </vCard>

      <!-- <prime>501</prime> -->
      <!-- <server-ip>64.4.13.57</server-ip/> -->

    </msntrans>

    <load>
      <msntrans>./msn-transport/msntrans.so</msntrans>
    </load>

  </service>

  <!-- By uncommenting the these two sections, xdb and log packets will be handled here and not
       delivered to the other jabberd process -->

  <!--

  <log id="msnlog">
    <file>./msnlog</file>
  </log>

  <xdb id="xdb">
    <host>msn.mydomain</host>
    <load><xdb_file>./xdb_file/xdb_file.so</xdb_file></load>
    <xdb_file xmlns="jabber:config:xdb_file"><spool>/home/sheath/jabber/jabber2/spool</spool></xdb_file>
  </xdb>

  -->

</jabber>

In the master configuration file, add the following section:

  <service id="msnlinker">
    <host>msn.mydomain</host>
    <accept>
      <ip>127.0.0.1</ip>
      <port>1234</port>
      <secret>test</secret>
    </accept>
  </service>
