Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Contact Us
Online Help
Domain Status
Man Pages

Virtual Servers

Topology Map

Server Agreement
Year 2038

USA Flag



Man Pages

Manual Reference Pages  -  NET::XMPP2::EXT::REGISTRATION (3)

.ds Aq ’


Net::XMPP2::Ext::Registration - Handles all tasks of in band registration



   my $con = Net::XMPP2::Connection->new (...);

   $con->reg_cb (stream_pre_authentication => sub {
      my ($con) = @_;
      my $reg = Net::XMPP2::Ext::Registration->new (connection => $con);

      $reg->send_registration_request (sub {
         my ($reg, $form, $error) = @_;

         if ($error) {
            # error handling

         } else {
            my $af = $form->try_fillout_registration ("tester", "secret");

            $reg->submit_form ($af, sub {
               my ($reg, $ok, $error, $form) = @_;

               if ($ok) { # registered successfully!

               } else {   # error
                  if ($form) { # we got an alternative form!
                     # fill it out and submit it with C<submit_form> again



This module handles all tasks of in band registration that are possible and specified by XEP-0077. It’s mainly a helper class that eases some tasks such as submitting and retrieving a form.


<B>new (%args)B> This is the constructor for a registration object.
connection This must be a Net::XMPP2::Connection (or some other subclass of that) object.

This argument is required.

<B>send_registration_request ($cb)B> This method sends a register form request. $cb will be called when either the form arrived or an error occured.

The first argument of $cb is always $self. If the form arrived the second argument of $cb will be a Net::XMPP2::Ext::RegisterForm object. If an error occured the second argument will be undef and the third argument will be a Net::XMPP2::Error::Register object.

For hints how Net::XMPP2::Ext::RegisterForm should be filled out look in XEP-0077. Either you have legacy form fields, out of band data or a data form.

See also try_fillout_registration in Net::XMPP2::Ext::RegisterForm.

<B>send_unregistration_request ($cb)B> This method sends an unregistration request.

For description of the semantics of the callback in $cb plase look in the description of the submit_form method below.

<B>send_password_change_request ($username, B>$password<B>, B>$cb<B>)B> This method sends a password change request for the user $username with the new password $password.

For description of the semantics of the callback in $cb plase look in the description of the submit_form method below.

<B>submit_form ($form, B>$cb<B>)B> This method submits the $form which should be of type Net::XMPP2::Ext::RegisterForm and should be an answer form.

$con is the connection on which to send this form.

$cb is the callback that will be called once the form has been submitted and either an error or success was received. The first argument to the callback will be the Net::XMPP2::Ext::Registration object, the second will be a boolean value that is true when the form was successfully transmitted and everything is fine. If the second argument is false then the third argument is a Net::XMPP2::Error::Register object. If the error contained a data form which is required to successfully make the request then the fourth argument will be a Net::XMPP2::Ext::RegisterForm which you should fill out and send again with submit_form.

For the semantics of such an error form see also XEP-0077.


Robin Redeker, <elmex at>, JID: <elmex at>


Copyright 2007 Robin Redeker, all rights reserved.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

Search for    or go to Top of page |  Section 3 |  Main Index

perl v5.20.3 NET::XMPP2::EXT::REGISTRATION (3) 2007-10-16

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.