---
name: "POE::Component::Jabber::J2"
section: "3pm"
platform: "linux"
package: "libpoe-component-jabber-perl"
version: "3.00-6"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/POE::Component::Jabber::J2"
---

# POE::Component::Jabber::J2(3pm)

connect to the jabberd20 router as a service

## NAME

POE::Component::Jabber::J2 - connect to the jabberd20 router as a service

## SYNOPSIS

PCJ::J2 is a Protocol implementation that is used to connect to the jabberd20 router as a service.

## DESCRIPTION

PCJ::J2 implements the jabberd2 component spec located here: (http://jabberd.jabberstudio.org/dev/docs/component.shtml) Specifically, PCJ::J2 will negotiate TLS, SASL, and domain binding required to establish a working connection with jabberd2 as a service.

## METHODS

Please see PCJ::Protocol for what methods this class supports.

## EVENTS

Listed are the exported events that make their way into the PCJ session:

- set\_auth

  This handles the initial SASL authentication portion of the connection.

- init\_input\_handler

  This is our entry point. This is what PCJ uses to deliver events to us. It handles various responses until the connection is initialized fully.

- build\_tls\_wheel

  If TLS is required by the server, this is where that negotiation process happens.

- challenge\_response

  This handles the subsequent SASL authentication steps.

- binding

  This handles the domain binding

## NOTES AND BUGS

This Protocol may implement the spec, but this spec hasn't been touched in  quite some time. If for some reason my implementation fails against a particular jabberd2 version, please let me know.

The underlying backend has changed this release to now use a new Node implementation based on XML::LibXML::Element. Please see POE::Filter::XML::Node documentation for the relevant API changes.

## AUTHOR

Copyright (c) 2003-2009 Nicholas Perez. Distributed under the GPL.
