I want to achieve videocall by your code #1

Closed
hk520580 opened this Issue Apr 20, 2014 · 22 comments

Comments

Projects
None yet
2 participants
@hk520580

thank you for you!
I use your code,it can achieve the audiocall,but it couldn't achieve the video!
my operator system is win7
the environment is:qtcreator4.7 + opencv2.3
but my pro is:

include(VoipTest.pri)

FORMS += mainwindow.ui

HEADERS += mainwindow.h

QT += core gui network xml multimedia

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

SOURCES += main.cpp\
           mainwindow.cpp

TARGET = VoipTest
TEMPLATE = app

!isEmpty(QXMPP_USE_SPEEX) {
    DEFINES += QXMPP_USE_SPEEX
    LIBS += -lspeex
}

!isEmpty(QXMPP_USE_THEORA) {
    DEFINES += QXMPP_USE_THEORA
    LIBS += -ltheoradec -ltheoraenc
}

!isEmpty(QXMPP_USE_VPX) {
    DEFINES += QXMPP_USE_VPX
    LIBS += -lvpx
}
include(E:\qxmpp\qxmpp.pri)


INCLUDEPATH += E:\openC\include \
E:\openC\include\opencv \
E:\openC\include\opencv2 \
E:\qxmpp\src\base \
E:\qxmpp\src\client \
E:\qxmpp\src\server

QXMPP_LIBRARY_TYPE=staticlib

LIBS += E:\openC\lib\libopencv_calib3d230.dll.a \
E:\openC\lib\libopencv_contrib230.dll.a \
E:\openC\lib\libopencv_core230.dll.a \
E:\openC\lib\libopencv_highgui230.dll.a \
E:\openC\lib\libopencv_ml230.dll.a \
E:\openC\lib\libopencv_features2d230.dll.a \
E:\openC\lib\libopencv_video230.dll.a \
E:\openC\lib\libopencv_objdetect230.dll.a \
E:\openC\lib\libopencv_imgproc230.dll.a \
E:\openC\lib\libopencv_flann230.dll.a \
E:\openC\lib\libopencv_gpu230.dll.a \
E:\openC\lib\libopencv_legacy230.dll.a \
E:\openC\lib\libopencv_ts230.a \
-LE:\qxmpp\src -lqxmpp_d0

thank you very much!

@hipersayanX

This comment has been minimized.

Show comment
Hide comment
@hipersayanX

hipersayanX Apr 22, 2014

Owner

Hi, your question comes from here. right?

Can you see your webcam in the caller side, but not in the receiver one?
In MainWindow::readFrames(), the size of image is the same as the size of the frames that are you sending?

Owner

hipersayanX commented Apr 22, 2014

Hi, your question comes from here. right?

Can you see your webcam in the caller side, but not in the receiver one?
In MainWindow::readFrames(), the size of image is the same as the size of the frames that are you sending?

@hipersayanX hipersayanX self-assigned this Apr 22, 2014

@hk520580

This comment has been minimized.

Show comment
Hide comment
@hk520580

hk520580 Apr 24, 2014

thank you!

sorry,my English is pool!
I use the openfire for server.
I don't update your code,
when I login two client to the server by a computer!My computer doesn't have two cam!
the two videoFrame is blank!
not have the opencv open the video!
how to connect you by IM or email?

thank you!

sorry,my English is pool!
I use the openfire for server.
I don't update your code,
when I login two client to the server by a computer!My computer doesn't have two cam!
the two videoFrame is blank!
not have the opencv open the video!
how to connect you by IM or email?

@hipersayanX

This comment has been minimized.

Show comment
Hide comment
@hipersayanX

hipersayanX Apr 24, 2014

Owner

the two videoFrame is blank!

Since you are receiving the black frames in the sender side the problem is related to OpenCV.
According to these links:

https://stackoverflow.com/questions/21849300/opencv-black-image-captured-from-usb-camera
http://opencv-users.1802565.n2.nabble.com/openCV-2-2-webcam-black-image-my-solution-td6033005.html

The common solution seems to be setting the frame resolution in the camera setup.
Try adding these lines:

// Set some resolution that is supported by your webcam.
this->m_webcam.set(CV_CAP_PROP_FRAME_WIDTH, 640);
this->m_webcam.set(CV_CAP_PROP_FRAME_HEIGHT, 480);

after this one.

how to connect you by IM or email?

Just continue here, so other people with the same problem can use this thread as reference.

Owner

hipersayanX commented Apr 24, 2014

the two videoFrame is blank!

Since you are receiving the black frames in the sender side the problem is related to OpenCV.
According to these links:

https://stackoverflow.com/questions/21849300/opencv-black-image-captured-from-usb-camera
http://opencv-users.1802565.n2.nabble.com/openCV-2-2-webcam-black-image-my-solution-td6033005.html

The common solution seems to be setting the frame resolution in the camera setup.
Try adding these lines:

// Set some resolution that is supported by your webcam.
this->m_webcam.set(CV_CAP_PROP_FRAME_WIDTH, 640);
this->m_webcam.set(CV_CAP_PROP_FRAME_HEIGHT, 480);

after this one.

how to connect you by IM or email?

Just continue here, so other people with the same problem can use this thread as reference.

@hk520580

This comment has been minimized.

Show comment
Hide comment
@hk520580

hk520580 Apr 24, 2014

thank you!
my problem is blank not black frameview!
the windows use the opencv different from the linux?
because I use the this can get the image

void chatRoom::on_btnVideo_clicked()
{
    cam = cvCreateCameraCapture(0);//open the cam
    if(timer->isActive())
    {
        timer->stop();         // stop read the data
        cvReleaseCapture(&cam);//relase the memory
        ui->videoLabel->clear();
    }
    else
    {
        timer->start(33);              // time for captureImage
    }

}
//show the image from cam captureImage
void chatRoom::showImage()
{
    frame = cvQueryFrame(cam);// capture the image
    QImage image = QImage((const uchar*)frame->imageData, frame->width, frame->height,    QImage::Format_RGB888).rgbSwapped();
    //QXmppRtpChannel videoSend;

    ui->videoLabel->setPixmap(QPixmap::fromImage(image));  
}

run the program :
blank

thank you!
my problem is blank not black frameview!
the windows use the opencv different from the linux?
because I use the this can get the image

void chatRoom::on_btnVideo_clicked()
{
    cam = cvCreateCameraCapture(0);//open the cam
    if(timer->isActive())
    {
        timer->stop();         // stop read the data
        cvReleaseCapture(&cam);//relase the memory
        ui->videoLabel->clear();
    }
    else
    {
        timer->start(33);              // time for captureImage
    }

}
//show the image from cam captureImage
void chatRoom::showImage()
{
    frame = cvQueryFrame(cam);// capture the image
    QImage image = QImage((const uchar*)frame->imageData, frame->width, frame->height,    QImage::Format_RGB888).rgbSwapped();
    //QXmppRtpChannel videoSend;

    ui->videoLabel->setPixmap(QPixmap::fromImage(image));  
}

run the program :
blank

@hk520580

This comment has been minimized.

Show comment
Hide comment
@hipersayanX

This comment has been minimized.

Show comment
Hide comment
@hipersayanX

hipersayanX Apr 24, 2014

Owner

Ok, I understand now. You are using the C API, and not the C++ one that I have used in my example, and there are some difference with my code. So, maybe it's possible you forget to connect the timeout signal to the showImage slot?

QObject::connect(&timer,
                SIGNAL(timeout()),
                this,
                SLOT(showImage()));

Is your chatRoom::showImage() being called? Try with something like this:

void chatRoom::showImage()
{
    frame = cvQueryFrame(cam);// capture the image
    QImage image = QImage((const uchar*)frame->imageData, frame->width, frame->height,    QImage::Format_RGB888).rgbSwapped();

    qDebug() << "frame captured:" << image.size();

    ui->videoLabel->setPixmap(QPixmap::fromImage(image));  
}

the windows use the opencv different from the linux?

OpenCV in Windows uses DirectShow, meanwhile in Linux it uses V4L2. About technical differences there are no much, maybe coding complexity (V4L2 is just a bit simpler).

Owner

hipersayanX commented Apr 24, 2014

Ok, I understand now. You are using the C API, and not the C++ one that I have used in my example, and there are some difference with my code. So, maybe it's possible you forget to connect the timeout signal to the showImage slot?

QObject::connect(&timer,
                SIGNAL(timeout()),
                this,
                SLOT(showImage()));

Is your chatRoom::showImage() being called? Try with something like this:

void chatRoom::showImage()
{
    frame = cvQueryFrame(cam);// capture the image
    QImage image = QImage((const uchar*)frame->imageData, frame->width, frame->height,    QImage::Format_RGB888).rgbSwapped();

    qDebug() << "frame captured:" << image.size();

    ui->videoLabel->setPixmap(QPixmap::fromImage(image));  
}

the windows use the opencv different from the linux?

OpenCV in Windows uses DirectShow, meanwhile in Linux it uses V4L2. About technical differences there are no much, maybe coding complexity (V4L2 is just a bit simpler).

@hk520580

This comment has been minimized.

Show comment
Hide comment
@hk520580

hk520580 Apr 25, 2014

thank you!
I try it.

thank you!
I try it.

@hk520580

This comment has been minimized.

Show comment
Hide comment
@hk520580

hk520580 Apr 25, 2014

void chatRoom::showImage()
{
    frame = cvQueryFrame(cam);// capture the image
    QImage image = QImage((const uchar*)frame->imageData, frame->width, frame->height,    QImage::Format_RGB888).rgbSwapped();

    qDebug() << "frame captured:" << image.size();

    ui->videoLabel->setPixmap(QPixmap::fromImage(image));  
}

this is my code can get the image for video but not achieve the videocall!(my code is adding the sigle and slot)
I said your code can't get the image for video!
maybe coding is different!
I try chang it!
thank you!

void chatRoom::showImage()
{
    frame = cvQueryFrame(cam);// capture the image
    QImage image = QImage((const uchar*)frame->imageData, frame->width, frame->height,    QImage::Format_RGB888).rgbSwapped();

    qDebug() << "frame captured:" << image.size();

    ui->videoLabel->setPixmap(QPixmap::fromImage(image));  
}

this is my code can get the image for video but not achieve the videocall!(my code is adding the sigle and slot)
I said your code can't get the image for video!
maybe coding is different!
I try chang it!
thank you!

@hipersayanX

This comment has been minimized.

Show comment
Hide comment
@hipersayanX

hipersayanX Apr 25, 2014

Owner

So, this is showing something like this in the Aplication Output of QtCreator, yes or no?:

frame captured: QSize(640, 480)
Owner

hipersayanX commented Apr 25, 2014

So, this is showing something like this in the Aplication Output of QtCreator, yes or no?:

frame captured: QSize(640, 480)
@hk520580

This comment has been minimized.

Show comment
Hide comment
@hk520580

hk520580 Apr 26, 2014

It doesn't run into the

void MainWindow::videoModeChanged(QIODevice::OpenMode mode)
{
    QMessageBox::warning(this,tr("error"),tr("error"),
                         QMessageBox::Ok);

    if (mode & QIODevice::ReadOnly)
    {
        QXmppVideoFormat videoFormat;

        // Open the webcam.
        this->m_webcam->open(this->cbxWebcam->currentIndex());

        videoFormat.setFrameRate(30);
        videoFormat.setFrameSize(QSize(this->m_webcam->get(CV_CAP_PROP_FRAME_WIDTH),
                                       this->m_webcam->get(CV_CAP_PROP_FRAME_HEIGHT)));


        videoFormat.setPixelFormat(QXmppVideoFrame::Format_YUYV);

        // Change default Encoder Format.
        this->m_call->videoChannel()->setEncoderFormat(videoFormat);

        if (!this->m_timer.isActive())
        {
            QObject::connect(&this->m_timer,
                             SIGNAL(timeout()),
                             this,
                             SLOT(writeFrame()));

            QObject::connect(&this->m_timer,
                             SIGNAL(timeout()),
                             this,
                             SLOT(readFrames()));

            this->m_timer.start();
        }
    }
    else if (mode == QIODevice::NotOpen)
    {
        this->m_webcam->release();

        QObject::disconnect(&this->m_timer,
                            SIGNAL(timeout()),
                            this,
                            SLOT(writeFrame()));

        QObject::disconnect(&this->m_timer,
                            SIGNAL(timeout()),
                            this,
                            SLOT(readFrames()));

        this->m_timer.stop();
    }
}

It doesn't run into the

void MainWindow::videoModeChanged(QIODevice::OpenMode mode)
{
    QMessageBox::warning(this,tr("error"),tr("error"),
                         QMessageBox::Ok);

    if (mode & QIODevice::ReadOnly)
    {
        QXmppVideoFormat videoFormat;

        // Open the webcam.
        this->m_webcam->open(this->cbxWebcam->currentIndex());

        videoFormat.setFrameRate(30);
        videoFormat.setFrameSize(QSize(this->m_webcam->get(CV_CAP_PROP_FRAME_WIDTH),
                                       this->m_webcam->get(CV_CAP_PROP_FRAME_HEIGHT)));


        videoFormat.setPixelFormat(QXmppVideoFrame::Format_YUYV);

        // Change default Encoder Format.
        this->m_call->videoChannel()->setEncoderFormat(videoFormat);

        if (!this->m_timer.isActive())
        {
            QObject::connect(&this->m_timer,
                             SIGNAL(timeout()),
                             this,
                             SLOT(writeFrame()));

            QObject::connect(&this->m_timer,
                             SIGNAL(timeout()),
                             this,
                             SLOT(readFrames()));

            this->m_timer.start();
        }
    }
    else if (mode == QIODevice::NotOpen)
    {
        this->m_webcam->release();

        QObject::disconnect(&this->m_timer,
                            SIGNAL(timeout()),
                            this,
                            SLOT(writeFrame()));

        QObject::disconnect(&this->m_timer,
                            SIGNAL(timeout()),
                            this,
                            SLOT(readFrames()));

        this->m_timer.stop();
    }
}

@hk520580

This comment has been minimized.

Show comment
Hide comment
@hk520580

hk520580 Apr 26, 2014

when I call the audiomodechange can
ff

I think it doesn't into the videomodechange!
I lost some setting?

when I call the audiomodechange can
ff

I think it doesn't into the videomodechange!
I lost some setting?

@hipersayanX

This comment has been minimized.

Show comment
Hide comment
@hipersayanX

hipersayanX Apr 26, 2014

Owner

First at all, never use message boxes for debbuging your programs, for example, in this case is better to use qDebug() to log the messages in the console.
videoModeChanged() could be called several times, so using a message box will be annoying.
So, replace this:

void MainWindow::videoModeChanged(QIODevice::OpenMode mode)
{
    QMessageBox::warning(this,tr("error"),tr("error"),
                        QMessageBox::Ok);

    // ...
}

with this:

void MainWindow::videoModeChanged(QIODevice::OpenMode mode)
{
    qDebug() << "videoModeChanged:" << mode;

    // ...
}
  1. So, what is the output of qDebug when you do a call?

Later, put this code in the constructor of the class:

QXmppLogger *logger = QXmppLogger::getLogger()
logger->setLoggingType(QXmppLogger::StdoutLogging);
logger->setMessageTypes (QXmppLogger::AnyMessage);
  1. Give me the full log when you do the call (be careful not to leak any user name or password).
Owner

hipersayanX commented Apr 26, 2014

First at all, never use message boxes for debbuging your programs, for example, in this case is better to use qDebug() to log the messages in the console.
videoModeChanged() could be called several times, so using a message box will be annoying.
So, replace this:

void MainWindow::videoModeChanged(QIODevice::OpenMode mode)
{
    QMessageBox::warning(this,tr("error"),tr("error"),
                        QMessageBox::Ok);

    // ...
}

with this:

void MainWindow::videoModeChanged(QIODevice::OpenMode mode)
{
    qDebug() << "videoModeChanged:" << mode;

    // ...
}
  1. So, what is the output of qDebug when you do a call?

Later, put this code in the constructor of the class:

QXmppLogger *logger = QXmppLogger::getLogger()
logger->setLoggingType(QXmppLogger::StdoutLogging);
logger->setMessageTypes (QXmppLogger::AnyMessage);
  1. Give me the full log when you do the call (be careful not to leak any user name or password).
@hk520580

This comment has been minimized.

Show comment
Hide comment
@hk520580

hk520580 Apr 26, 2014

the password and user name doesn't mater
the first not have debug information (video),have debug information(audio)

bufferSize 2560 

the logger is:

周六 四月 26 13:20:38 2014 DEBUG Looking up server for domain xiaozhen
周六 四月 26 13:20:38 2014 WARNING Lookup for domain _xmpp-client._tcp.xiaozhen failed: Non existent domain
周六 四月 26 13:20:38 2014 INFO Connecting to xiaozhen:5222
周六 四月 26 13:20:41 2014 INFO Socket connected to 192.168.16.102 5222
周六 四月 26 13:20:41 2014 SENT <?xml version='1.0'?><stream:stream to='xiaozhen' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' version='1.0'>
周六 四月 26 13:20:41 2014 RECEIVED <?xml version='1.0' encoding='UTF-8'?><stream:stream xmlns:stream="http://etherx.jabber.org/streams" xmlns="jabber:client" from="xiaozhen" id="eed522b1" xml:lang="en" version="1.0">
周六 四月 26 13:20:41 2014 RECEIVED <stream:features><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"></starttls><mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><mechanism>DIGEST-MD5</mechanism><mechanism>PLAIN</mechanism><mechanism>ANONYMOUS</mechanism><mechanism>CRAM-MD5</mechanism></mechanisms><compression xmlns="http://jabber.org/features/compress"><method>zlib</method></compression><auth xmlns="http://jabber.org/features/iq-auth"/><register xmlns="http://jabber.org/features/iq-register"/></stream:features>
周六 四月 26 13:20:41 2014 SENT <starttls xmlns='urn:ietf:params:xml:ns:xmpp-tls'/>
周六 四月 26 13:20:41 2014 RECEIVED <proceed xmlns="urn:ietf:params:xml:ns:xmpp-tls"/>
周六 四月 26 13:20:41 2014 DEBUG Starting encryption
周六 四月 26 13:20:41 2014 WARNING SSL errors
周六 四月 26 13:20:41 2014 WARNING The certificate is self-signed, and untrusted
周六 四月 26 13:20:41 2014 DEBUG Socket encrypted
周六 四月 26 13:20:41 2014 SENT <?xml version='1.0'?><stream:stream to='xiaozhen' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' version='1.0'>
周六 四月 26 13:20:41 2014 RECEIVED <?xml version='1.0' encoding='UTF-8'?><stream:stream xmlns:stream="http://etherx.jabber.org/streams" xmlns="jabber:client" from="xiaozhen" id="eed522b1" xml:lang="en" version="1.0"><stream:features><mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><mechanism>DIGEST-MD5</mechanism><mechanism>PLAIN</mechanism><mechanism>ANONYMOUS</mechanism><mechanism>CRAM-MD5</mechanism></mechanisms><compression xmlns="http://jabber.org/features/compress"><method>zlib</method></compression><auth xmlns="http://jabber.org/features/iq-auth"/><register xmlns="http://jabber.org/features/iq-register"/></stream:features>
周六 四月 26 13:20:41 2014 INFO SASL mechanism 'DIGEST-MD5' selected
周六 四月 26 13:20:41 2014 SENT <auth xmlns="urn:ietf:params:xml:ns:xmpp-sasl" mechanism="DIGEST-MD5"/>
周六 四月 26 13:20:41 2014 RECEIVED <challenge xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cmVhbG09InhpYW96aGVuIixub25jZT0iL2RDUTFUTzZGMGc5V2NqbG16Y01DdU5VeU82T3JOaHBYSHQ2YmtiSCIscW9wPSJhdXRoIixjaGFyc2V0PXV0Zi04LGFsZ29yaXRobT1tZDUtc2Vzcw==</challenge>
周六 四月 26 13:20:41 2014 SENT <response xmlns="urn:ietf:params:xml:ns:xmpp-sasl">Y2hhcnNldD11dGYtOCxjbm9uY2U9ImNtSHIxWEZQdzBLOVRGdEpzOU1HTkNhOXJXZ3hma2QwRUJRcC9ZMk5sWVk9IixkaWdlc3QtdXJpPSJ4bXBwL3hpYW96aGVuIixuYz0wMDAwMDAwMSxub25jZT0iL2RDUTFUTzZGMGc5V2NqbG16Y01DdU5VeU82T3JOaHBYSHQ2YmtiSCIscW9wPWF1dGgscmVhbG09eGlhb3poZW4scmVzcG9uc2U9MTJlMDk0M2IwNDA1ZWIyYzJhOGVlMDMxYWU1OTAwZWYsdXNlcm5hbWU9aGs1MjA1ODA=</response>
周六 四月 26 13:20:41 2014 RECEIVED <success xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cnNwYXV0aD1mNGY1Yjc2ZTNkNTBhYWU3ZTEwYWRkNjRkMzg0ZjIxOA==</success>
周六 四月 26 13:20:41 2014 DEBUG Authenticated
周六 四月 26 13:20:41 2014 SENT <?xml version='1.0'?><stream:stream to='xiaozhen' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' version='1.0'>
周六 四月 26 13:20:41 2014 RECEIVED <?xml version='1.0' encoding='UTF-8'?><stream:stream xmlns:stream="http://etherx.jabber.org/streams" xmlns="jabber:client" from="xiaozhen" id="eed522b1" xml:lang="en" version="1.0"><stream:features><compression xmlns="http://jabber.org/features/compress"><method>zlib</method></compression><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"/><session xmlns="urn:ietf:params:xml:ns:xmpp-session"/></stream:features>
周六 四月 26 13:20:41 2014 SENT <iq id="qxmpp3" type="set"><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"><resource>QXmpp</resource></bind></iq>
周六 四月 26 13:20:41 2014 RECEIVED <iq type="result" id="qxmpp3" to="xiaozhen/eed522b1"><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"><jid>hk520580@xiaozhen/QXmpp</jid></bind></iq>
周六 四月 26 13:20:41 2014 SENT <iq id="qxmpp5" to="xiaozhen" type="set"><session xmlns="urn:ietf:params:xml:ns:xmpp-session"/></iq>
周六 四月 26 13:20:41 2014 RECEIVED <iq type="result" id="qxmpp5" from="xiaozhen" to="hk520580@xiaozhen/QXmpp"/>
周六 四月 26 13:20:41 2014 SENT <iq id="qxmpp7" from="hk520580@xiaozhen/QXmpp" type="get"><query xmlns="jabber:iq:roster"/></iq>
周六 四月 26 13:20:41 2014 SENT <presence><c xmlns="http://jabber.org/protocol/caps" hash="sha-1" node="http://code.google.com/p/qxmpp" ver="sTOd4oUvoxvLoDSRftccLzK2CRE="/></presence>
周六 四月 26 13:20:41 2014 RECEIVED <iq type="result" id="qxmpp7" to="hk520580@xiaozhen/QXmpp"><query xmlns="jabber:iq:roster"><item jid="fish@xiaozhen" subscription="both"/><item jid="hk520590@xiaozhen" subscription="none"/></query></iq>
周六 四月 26 13:20:41 2014 RECEIVED <presence from="fish@xiaozhen/QXmpp" to="hk520580@xiaozhen/QXmpp"><c xmlns="http://jabber.org/protocol/caps" hash="sha-1" node="http://code.google.com/p/qxmpp" ver="sTOd4oUvoxvLoDSRftccLzK2CRE="/></presence>
周六 四月 26 13:20:44 2014 SENT <iq id="qxmpp9" to="fish@xiaozhen/QXmpp" type="set"><jingle xmlns="urn:xmpp:jingle:1" action="session-initiate" initiator="hk520580@xiaozhen/QXmpp" sid="wXyN88jvZv0XXfounrVDFwrxfTyAL0sJ"><content creator="initiator" name="voice" senders="both"><description xmlns="urn:xmpp:jingle:apps:rtp:1" media="audio"><payload-type id="0" name="PCMU" clockrate="8000"/><payload-type id="8" name="PCMA" clockrate="8000"/><payload-type id="101" name="telephone-event" clockrate="8000"><parameter name="events" value="0-15"/></payload-type></description><transport xmlns="urn:xmpp:jingle:transports:ice-udp:1" ufrag="kSEr" pwd="0OCPUgYq2T2H2Y7PB56VMG"><candidate component="1" foundation="0" generation="0" id="9N1iOmbGwA" ip="192.168.16.102" network="0" port="49152" priority="2130706431" protocol="udp" type="host"/><candidate component="1" foundation="1" generation="0" id="hdHKwOnUFN" ip="192.168.18.1" network="0" port="49152" priority="2130706431" protocol="udp" type="host"/><candidate component="1" foundation="2" generation="0" id="qrg5EKTQj1" ip="192.168.200.2" network="0" port="49152" priority="2130706431" protocol="udp" type="host"/><candidate component="2" foundation="0" generation="0" id="Pv2rGUGKKw" ip="192.168.16.102" network="0" port="49153" priority="2130706430" protocol="udp" type="host"/><candidate component="2" foundation="1" generation="0" id="jA9ZwuSbs3" ip="192.168.18.1" network="0" port="49153" priority="2130706430" protocol="udp" type="host"/><candidate component="2" foundation="2" generation="0" id="MuPMgD0Wbd" ip="192.168.200.2" network="0" port="49153" priority="2130706430" protocol="udp" type="host"/></transport></content></jingle></iq>
周六 四月 26 13:20:44 2014 RECEIVED STUN packet from 192.168.16.102 port 49154
 type Binding Request (1)
 id 08e3c994c2ef8c02015661a9
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270975
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:44 2014 DEBUG Added candidate 192.168.16.102 port 49154 (local 192.168.16.102 port 49152)
周六 四月 26 13:20:44 2014 SENT Sent to 192.168.16.102 port 49154 (local 192.168.16.102 port 49152)
 type Binding Response (257)
 id 08e3c994c2ef8c02015661a9
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.16.102 49154
周六 四月 26 13:20:44 2014 DEBUG ICE reverse check complete 192.168.16.102 port 49154 (local 192.168.16.102 port 49152)
周六 四月 26 13:20:44 2014 RECEIVED STUN packet from 192.168.16.102 port 61668
 type Binding Request (1)
 id b44fdd6d8dc1c45eadcbaae4
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270975
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:44 2014 DEBUG Added candidate 192.168.16.102 port 61668 (local 192.168.16.102 port 49152)
周六 四月 26 13:20:44 2014 SENT Sent to 192.168.16.102 port 61668 (local 192.168.16.102 port 49152)
 type Binding Response (257)
 id b44fdd6d8dc1c45eadcbaae4
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.16.102 61668
周六 四月 26 13:20:44 2014 DEBUG ICE reverse check complete 192.168.16.102 port 61668 (local 192.168.16.102 port 49152)
周六 四月 26 13:20:44 2014 RECEIVED STUN packet from 192.168.16.102 port 49154
 type Binding Request (1)
 id a89fa14d79115f6092080f8e
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270975
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:44 2014 DEBUG Added candidate 192.168.16.102 port 49154 (local 192.168.18.1 port 49152)
周六 四月 26 13:20:44 2014 SENT Sent to 192.168.16.102 port 49154 (local 192.168.18.1 port 49152)
 type Binding Response (257)
 id a89fa14d79115f6092080f8e
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.16.102 49154
周六 四月 26 13:20:44 2014 DEBUG ICE reverse check complete 192.168.16.102 port 49154 (local 192.168.18.1 port 49152)
周六 四月 26 13:20:44 2014 RECEIVED STUN packet from 192.168.18.1 port 49154
 type Binding Request (1)
 id 5e84576bf5418fc6ff887708
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270975
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:44 2014 DEBUG Added candidate 192.168.18.1 port 49154 (local 192.168.18.1 port 49152)
周六 四月 26 13:20:44 2014 SENT Sent to 192.168.18.1 port 49154 (local 192.168.18.1 port 49152)
 type Binding Response (257)
 id 5e84576bf5418fc6ff887708
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.18.1 49154
周六 四月 26 13:20:44 2014 DEBUG ICE reverse check complete 192.168.18.1 port 49154 (local 192.168.18.1 port 49152)
周六 四月 26 13:20:44 2014 RECEIVED STUN packet from 192.168.200.2 port 49154
 type Binding Request (1)
 id a4256f4e7d1c7dd25511271d
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270975
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:44 2014 DEBUG Added candidate 192.168.200.2 port 49154 (local 192.168.18.1 port 49152)
周六 四月 26 13:20:44 2014 SENT Sent to 192.168.200.2 port 49154 (local 192.168.18.1 port 49152)
 type Binding Response (257)
 id a4256f4e7d1c7dd25511271d
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.200.2 49154
周六 四月 26 13:20:44 2014 DEBUG ICE reverse check complete 192.168.200.2 port 49154 (local 192.168.18.1 port 49152)
周六 四月 26 13:20:44 2014 RECEIVED STUN packet from 192.168.200.2 port 49154
 type Binding Request (1)
 id 90da7fed61c5e7675541ab75
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270975
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:44 2014 DEBUG Added candidate 192.168.200.2 port 49154 (local 192.168.200.2 port 49152)
周六 四月 26 13:20:44 2014 SENT Sent to 192.168.200.2 port 49154 (local 192.168.200.2 port 49152)
 type Binding Response (257)
 id 90da7fed61c5e7675541ab75
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.200.2 49154
周六 四月 26 13:20:44 2014 DEBUG ICE reverse check complete 192.168.200.2 port 49154 (local 192.168.200.2 port 49152)
周六 四月 26 13:20:44 2014 RECEIVED STUN packet from 192.168.16.102 port 49155
 type Binding Request (1)
 id dd5c290b6b179b2d7240ce60
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270974
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:44 2014 DEBUG Added candidate 192.168.16.102 port 49155 (local 192.168.16.102 port 49153)
周六 四月 26 13:20:44 2014 SENT Sent to 192.168.16.102 port 49155 (local 192.168.16.102 port 49153)
 type Binding Response (257)
 id dd5c290b6b179b2d7240ce60
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.16.102 49155
周六 四月 26 13:20:44 2014 DEBUG ICE reverse check complete 192.168.16.102 port 49155 (local 192.168.16.102 port 49153)
周六 四月 26 13:20:44 2014 RECEIVED STUN packet from 192.168.16.102 port 61669
 type Binding Request (1)
 id a85d25864f7639898edcc091
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270974
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:44 2014 DEBUG Added candidate 192.168.16.102 port 61669 (local 192.168.16.102 port 49153)
周六 四月 26 13:20:44 2014 SENT Sent to 192.168.16.102 port 61669 (local 192.168.16.102 port 49153)
 type Binding Response (257)
 id a85d25864f7639898edcc091
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.16.102 61669
周六 四月 26 13:20:44 2014 DEBUG ICE reverse check complete 192.168.16.102 port 61669 (local 192.168.16.102 port 49153)
周六 四月 26 13:20:44 2014 RECEIVED STUN packet from 192.168.16.102 port 49155
 type Binding Request (1)
 id 74d008e9e9d09f743d5b09f8
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270974
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:44 2014 DEBUG Added candidate 192.168.16.102 port 49155 (local 192.168.18.1 port 49153)
周六 四月 26 13:20:44 2014 SENT Sent to 192.168.16.102 port 49155 (local 192.168.18.1 port 49153)
 type Binding Response (257)
 id 74d008e9e9d09f743d5b09f8
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.16.102 49155
周六 四月 26 13:20:44 2014 DEBUG ICE reverse check complete 192.168.16.102 port 49155 (local 192.168.18.1 port 49153)
周六 四月 26 13:20:44 2014 RECEIVED STUN packet from 192.168.18.1 port 49155
 type Binding Request (1)
 id 85add5bcb6e31e664facbe3c
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270974
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:44 2014 DEBUG Added candidate 192.168.18.1 port 49155 (local 192.168.18.1 port 49153)
周六 四月 26 13:20:44 2014 SENT Sent to 192.168.18.1 port 49155 (local 192.168.18.1 port 49153)
 type Binding Response (257)
 id 85add5bcb6e31e664facbe3c
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.18.1 49155
周六 四月 26 13:20:44 2014 DEBUG ICE reverse check complete 192.168.18.1 port 49155 (local 192.168.18.1 port 49153)
周六 四月 26 13:20:44 2014 RECEIVED STUN packet from 192.168.200.2 port 49155
 type Binding Request (1)
 id ae48a2a6d2f81e9f75bcaace
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270974
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:44 2014 DEBUG Added candidate 192.168.200.2 port 49155 (local 192.168.18.1 port 49153)
周六 四月 26 13:20:44 2014 SENT Sent to 192.168.200.2 port 49155 (local 192.168.18.1 port 49153)
 type Binding Response (257)
 id ae48a2a6d2f81e9f75bcaace
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.200.2 49155
周六 四月 26 13:20:44 2014 DEBUG ICE reverse check complete 192.168.200.2 port 49155 (local 192.168.18.1 port 49153)
周六 四月 26 13:20:44 2014 RECEIVED STUN packet from 192.168.200.2 port 49155
 type Binding Request (1)
 id af5a3b5609acb3fd1cfb91fa
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270974
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:44 2014 DEBUG Added candidate 192.168.200.2 port 49155 (local 192.168.200.2 port 49153)
周六 四月 26 13:20:44 2014 SENT Sent to 192.168.200.2 port 49155 (local 192.168.200.2 port 49153)
 type Binding Response (257)
 id af5a3b5609acb3fd1cfb91fa
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.200.2 49155
周六 四月 26 13:20:44 2014 DEBUG ICE reverse check complete 192.168.200.2 port 49155 (local 192.168.200.2 port 49153)
周六 四月 26 13:20:44 2014 RECEIVED <iq id="qxmpp9" to="hk520580@xiaozhen/QXmpp" type="result" from="fish@xiaozhen/QXmpp"/>
周六 四月 26 13:20:44 2014 DEBUG Received ACK for packet qxmpp9
周六 四月 26 13:20:44 2014 RECEIVED <iq id="qxmpp11" to="hk520580@xiaozhen/QXmpp" type="set" from="fish@xiaozhen/QXmpp"><jingle xmlns="urn:xmpp:jingle:1" action="session-info" sid="wXyN88jvZv0XXfounrVDFwrxfTyAL0sJ"><ringing xmlns="urn:xmpp:jingle:apps:rtp:info:1"/></jingle></iq>
周六 四月 26 13:20:45 2014 RECEIVED STUN packet from 192.168.16.102 port 49154
 type Binding Request (1)
 id 08e3c994c2ef8c02015661a9
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270975
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:45 2014 SENT Sent to 192.168.16.102 port 49154 (local 192.168.16.102 port 49152)
 type Binding Response (257)
 id 08e3c994c2ef8c02015661a9
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.16.102 49154
周六 四月 26 13:20:45 2014 DEBUG ICE reverse check complete 192.168.16.102 port 49154 (local 192.168.16.102 port 49152)
周六 四月 26 13:20:45 2014 RECEIVED STUN packet from 192.168.16.102 port 61668
 type Binding Request (1)
 id b44fdd6d8dc1c45eadcbaae4
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270975
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:45 2014 SENT Sent to 192.168.16.102 port 61668 (local 192.168.16.102 port 49152)
 type Binding Response (257)
 id b44fdd6d8dc1c45eadcbaae4
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.16.102 61668
周六 四月 26 13:20:45 2014 DEBUG ICE reverse check complete 192.168.16.102 port 61668 (local 192.168.16.102 port 49152)
周六 四月 26 13:20:45 2014 RECEIVED STUN packet from 192.168.16.102 port 49154
 type Binding Request (1)
 id a89fa14d79115f6092080f8e
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270975
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:45 2014 SENT Sent to 192.168.16.102 port 49154 (local 192.168.18.1 port 49152)
 type Binding Response (257)
 id a89fa14d79115f6092080f8e
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.16.102 49154
周六 四月 26 13:20:45 2014 DEBUG ICE reverse check complete 192.168.16.102 port 49154 (local 192.168.18.1 port 49152)
周六 四月 26 13:20:45 2014 RECEIVED STUN packet from 192.168.18.1 port 49154
 type Binding Request (1)
 id 5e84576bf5418fc6ff887708
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270975
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:45 2014 SENT Sent to 192.168.18.1 port 49154 (local 192.168.18.1 port 49152)
 type Binding Response (257)
 id 5e84576bf5418fc6ff887708
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.18.1 49154
周六 四月 26 13:20:45 2014 DEBUG ICE reverse check complete 192.168.18.1 port 49154 (local 192.168.18.1 port 49152)
周六 四月 26 13:20:45 2014 RECEIVED STUN packet from 192.168.200.2 port 49154
 type Binding Request (1)
 id a4256f4e7d1c7dd25511271d
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270975
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:45 2014 SENT Sent to 192.168.200.2 port 49154 (local 192.168.18.1 port 49152)
 type Binding Response (257)
 id a4256f4e7d1c7dd25511271d
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.200.2 49154
周六 四月 26 13:20:45 2014 DEBUG ICE reverse check complete 192.168.200.2 port 49154 (local 192.168.18.1 port 49152)
周六 四月 26 13:20:45 2014 RECEIVED STUN packet from 192.168.200.2 port 49154
 type Binding Request (1)
 id 90da7fed61c5e7675541ab75
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270975
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:45 2014 SENT Sent to 192.168.200.2 port 49154 (local 192.168.200.2 port 49152)
 type Binding Response (257)
 id 90da7fed61c5e7675541ab75
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.200.2 49154
周六 四月 26 13:20:45 2014 DEBUG ICE reverse check complete 192.168.200.2 port 49154 (local 192.168.200.2 port 49152)
周六 四月 26 13:20:45 2014 RECEIVED STUN packet from 192.168.16.102 port 49155
 type Binding Request (1)
 id dd5c290b6b179b2d7240ce60
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270974
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:45 2014 SENT Sent to 192.168.16.102 port 49155 (local 192.168.16.102 port 49153)
 type Binding Response (257)
 id dd5c290b6b179b2d7240ce60
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.16.102 49155
周六 四月 26 13:20:45 2014 DEBUG ICE reverse check complete 192.168.16.102 port 49155 (local 192.168.16.102 port 49153)
周六 四月 26 13:20:45 2014 RECEIVED STUN packet from 192.168.16.102 port 61669
 type Binding Request (1)
 id a85d25864f7639898edcc091
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270974
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:45 2014 SENT Sent to 192.168.16.102 port 61669 (local 192.168.16.102 port 49153)
 type Binding Response (257)
 id a85d25864f7639898edcc091
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.16.102 61669
周六 四月 26 13:20:45 2014 DEBUG ICE reverse check complete 192.168.16.102 port 61669 (local 192.168.16.102 port 49153)
周六 四月 26 13:20:45 2014 RECEIVED STUN packet from 192.168.16.102 port 49155
 type Binding Request (1)
 id 74d008e9e9d09f743d5b09f8
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270974
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:45 2014 SENT Sent to 192.168.16.102 port 49155 (local 192.168.18.1 port 49153)
 type Binding Response (257)
 id 74d008e9e9d09f743d5b09f8
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.16.102 49155
周六 四月 26 13:20:45 2014 DEBUG ICE reverse check complete 192.168.16.102 port 49155 (local 192.168.18.1 port 49153)
周六 四月 26 13:20:45 2014 RECEIVED STUN packet from 192.168.18.1 port 49155
 type Binding Request (1)
 id 85add5bcb6e31e664facbe3c
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270974
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:45 2014 SENT Sent to 192.168.18.1 port 49155 (local 192.168.18.1 port 49153)
 type Binding Response (257)
 id 85add5bcb6e31e664facbe3c
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.18.1 49155
周六 四月 26 13:20:45 2014 DEBUG ICE reverse check complete 192.168.18.1 port 49155 (local 192.168.18.1 port 49153)
周六 四月 26 13:20:45 2014 RECEIVED STUN packet from 192.168.200.2 port 49155
 type Binding Request (1)
 id ae48a2a6d2f81e9f75bcaace
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270974
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:45 2014 SENT Sent to 192.168.200.2 port 49155 (local 192.168.18.1 port 49153)
 type Binding Response (257)
 id ae48a2a6d2f81e9f75bcaace
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.200.2 49155
周六 四月 26 13:20:45 2014 DEBUG ICE reverse check complete 192.168.200.2 port 49155 (local 192.168.18.1 port 49153)
周六 四月 26 13:20:45 2014 RECEIVED STUN packet from 192.168.200.2 port 49155
 type Binding Request (1)
 id af5a3b5609acb3fd1cfb91fa
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270974
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:45 2014 SENT Sent to 192.168.200.2 port 49155 (local 192.168.200.2 port 49153)
 type Binding Response (257)
 id af5a3b5609acb3fd1cfb91fa
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.200.2 49155
周六 四月 26 13:20:45 2014 DEBUG ICE reverse check complete 192.168.200.2 port 49155 (local 192.168.200.2 port 49153)
周六 四月 26 13:20:45 2014 RECEIVED STUN packet from 192.168.16.102 port 49154
 type Binding Request (1)
 id 08e3c994c2ef8c02015661a9
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270975
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:45 2014 SENT Sent to 192.168.16.102 port 49154 (local 192.168.16.102 port 49152)
 type Binding Response (257)
 id 08e3c994c2ef8c02015661a9
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.16.102 49154
周六 四月 26 13:20:45 2014 DEBUG ICE reverse check complete 192.168.16.102 port 49154 (local 192.168.16.102 port 49152)
周六 四月 26 13:20:45 2014 RECEIVED STUN packet from 192.168.16.102 port 61668
 type Binding Request (1)
 id b44fdd6d8dc1c45eadcbaae4
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270975
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:45 2014 SENT Sent to 192.168.16.102 port 61668 (local 192.168.16.102 port 49152)
 type Binding Response (257)
 id b44fdd6d8dc1c45eadcbaae4
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.16.102 61668
周六 四月 26 13:20:45 2014 DEBUG ICE reverse check complete 192.168.16.102 port 61668 (local 192.168.16.102 port 49152)
周六 四月 26 13:20:45 2014 RECEIVED STUN packet from 192.168.16.102 port 49154
 type Binding Request (1)
 id a89fa14d79115f6092080f8e
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270975
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:45 2014 SENT Sent to 192.168.16.102 port 49154 (local 192.168.18.1 port 49152)
 type Binding Response (257)
 id a89fa14d79115f6092080f8e
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.16.102 49154
周六 四月 26 13:20:45 2014 DEBUG ICE reverse check complete 192.168.16.102 port 49154 (local 192.168.18.1 port 49152)
周六 四月 26 13:20:45 2014 RECEIVED STUN packet from 192.168.18.1 port 49154
 type Binding Request (1)
 id 5e84576bf5418fc6ff887708
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270975
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:45 2014 SENT Sent to 192.168.18.1 port 49154 (local 192.168.18.1 port 49152)
 type Binding Response (257)
 id 5e84576bf5418fc6ff887708
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.18.1 49154
周六 四月 26 13:20:45 2014 DEBUG ICE reverse check complete 192.168.18.1 port 49154 (local 192.168.18.1 port 49152)
周六 四月 26 13:20:45 2014 RECEIVED STUN packet from 192.168.200.2 port 49154
 type Binding Request (1)
 id a4256f4e7d1c7dd25511271d
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270975
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:45 2014 SENT Sent to 192.168.200.2 port 49154 (local 192.168.18.1 port 49152)
 type Binding Response (257)
 id a4256f4e7d1c7dd25511271d
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.200.2 49154
周六 四月 26 13:20:45 2014 DEBUG ICE reverse check complete 192.168.200.2 port 49154 (local 192.168.18.1 port 49152)
周六 四月 26 13:20:45 2014 RECEIVED STUN packet from 192.168.200.2 port 49154
 type Binding Request (1)
 id 90da7fed61c5e7675541ab75
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270975
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:45 2014 SENT Sent to 192.168.200.2 port 49154 (local 192.168.200.2 port 49152)
 type Binding Response (257)
 id 90da7fed61c5e7675541ab75
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.200.2 49154
周六 四月 26 13:20:45 2014 DEBUG ICE reverse check complete 192.168.200.2 port 49154 (local 192.168.200.2 port 49152)
周六 四月 26 13:20:45 2014 RECEIVED STUN packet from 192.168.16.102 port 49155
 type Binding Request (1)
 id dd5c290b6b179b2d7240ce60
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270974
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:45 2014 SENT Sent to 192.168.16.102 port 49155 (local 192.168.16.102 port 49153)
 type Binding Response (257)
 id dd5c290b6b179b2d7240ce60
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.16.102 49155
周六 四月 26 13:20:45 2014 DEBUG ICE reverse check complete 192.168.16.102 port 49155 (local 192.168.16.102 port 49153)
周六 四月 26 13:20:45 2014 RECEIVED STUN packet from 192.168.16.102 port 61669
 type Binding Request (1)
 id a85d25864f7639898edcc091
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270974
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:45 2014 SENT Sent to 192.168.16.102 port 61669 (local 192.168.16.102 port 49153)
 type Binding Response (257)
 id a85d25864f7639898edcc091
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.16.102 61669
周六 四月 26 13:20:45 2014 DEBUG ICE reverse check complete 192.168.16.102 port 61669 (local 192.168.16.102 port 49153)
周六 四月 26 13:20:45 2014 RECEIVED STUN packet from 192.168.16.102 port 49155
 type Binding Request (1)
 id 74d008e9e9d09f743d5b09f8
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270974
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:45 2014 SENT Sent to 192.168.16.102 port 49155 (local 192.168.18.1 port 49153)
 type Binding Response (257)
 id 74d008e9e9d09f743d5b09f8
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.16.102 49155
周六 四月 26 13:20:45 2014 DEBUG ICE reverse check complete 192.168.16.102 port 49155 (local 192.168.18.1 port 49153)
周六 四月 26 13:20:45 2014 RECEIVED STUN packet from 192.168.18.1 port 49155
 type Binding Request (1)
 id 85add5bcb6e31e664facbe3c
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270974
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:45 2014 SENT Sent to 192.168.18.1 port 49155 (local 192.168.18.1 port 49153)
 type Binding Response (257)
 id 85add5bcb6e31e664facbe3c
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.18.1 49155
周六 四月 26 13:20:45 2014 DEBUG ICE reverse check complete 192.168.18.1 port 49155 (local 192.168.18.1 port 49153)
周六 四月 26 13:20:45 2014 RECEIVED STUN packet from 192.168.200.2 port 49155
 type Binding Request (1)
 id ae48a2a6d2f81e9f75bcaace
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270974
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:45 2014 SENT Sent to 192.168.200.2 port 49155 (local 192.168.18.1 port 49153)
 type Binding Response (257)
 id ae48a2a6d2f81e9f75bcaace
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.200.2 49155
周六 四月 26 13:20:45 2014 DEBUG ICE reverse check complete 192.168.200.2 port 49155 (local 192.168.18.1 port 49153)
周六 四月 26 13:20:45 2014 RECEIVED STUN packet from 192.168.200.2 port 49155
 type Binding Request (1)
 id af5a3b5609acb3fd1cfb91fa
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270974
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:45 2014 SENT Sent to 192.168.200.2 port 49155 (local 192.168.200.2 port 49153)
 type Binding Response (257)
 id af5a3b5609acb3fd1cfb91fa
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.200.2 49155
周六 四月 26 13:20:45 2014 DEBUG ICE reverse check complete 192.168.200.2 port 49155 (local 192.168.200.2 port 49153)
周六 四月 26 13:20:46 2014 RECEIVED STUN packet from 192.168.16.102 port 49154
 type Binding Request (1)
 id 08e3c994c2ef8c02015661a9
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270975
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:46 2014 SENT Sent to 192.168.16.102 port 49154 (local 192.168.16.102 port 49152)
 type Binding Response (257)
 id 08e3c994c2ef8c02015661a9
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.16.102 49154
周六 四月 26 13:20:46 2014 DEBUG ICE reverse check complete 192.168.16.102 port 49154 (local 192.168.16.102 port 49152)
周六 四月 26 13:20:46 2014 RECEIVED STUN packet from 192.168.16.102 port 61668
 type Binding Request (1)
 id b44fdd6d8dc1c45eadcbaae4
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270975
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:46 2014 SENT Sent to 192.168.16.102 port 61668 (local 192.168.16.102 port 49152)
 type Binding Response (257)
 id b44fdd6d8dc1c45eadcbaae4
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.16.102 61668
周六 四月 26 13:20:46 2014 DEBUG ICE reverse check complete 192.168.16.102 port 61668 (local 192.168.16.102 port 49152)
周六 四月 26 13:20:46 2014 RECEIVED STUN packet from 192.168.16.102 port 49154
 type Binding Request (1)
 id a89fa14d79115f6092080f8e
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270975
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:46 2014 SENT Sent to 192.168.16.102 port 49154 (local 192.168.18.1 port 49152)
 type Binding Response (257)
 id a89fa14d79115f6092080f8e
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.16.102 49154
周六 四月 26 13:20:46 2014 DEBUG ICE reverse check complete 192.168.16.102 port 49154 (local 192.168.18.1 port 49152)
周六 四月 26 13:20:46 2014 RECEIVED STUN packet from 192.168.18.1 port 49154
 type Binding Request (1)
 id 5e84576bf5418fc6ff887708
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270975
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:46 2014 SENT Sent to 192.168.18.1 port 49154 (local 192.168.18.1 port 49152)
 type Binding Response (257)
 id 5e84576bf5418fc6ff887708
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.18.1 49154
周六 四月 26 13:20:46 2014 DEBUG ICE reverse check complete 192.168.18.1 port 49154 (local 192.168.18.1 port 49152)
周六 四月 26 13:20:46 2014 RECEIVED STUN packet from 192.168.200.2 port 49154
 type Binding Request (1)
 id a4256f4e7d1c7dd25511271d
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270975
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:46 2014 SENT Sent to 192.168.200.2 port 49154 (local 192.168.18.1 port 49152)
 type Binding Response (257)
 id a4256f4e7d1c7dd25511271d
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.200.2 49154
周六 四月 26 13:20:46 2014 DEBUG ICE reverse check complete 192.168.200.2 port 49154 (local 192.168.18.1 port 49152)
周六 四月 26 13:20:46 2014 RECEIVED STUN packet from 192.168.200.2 port 49154
 type Binding Request (1)
 id 90da7fed61c5e7675541ab75
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270975
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:46 2014 SENT Sent to 192.168.200.2 port 49154 (local 192.168.200.2 port 49152)
 type Binding Response (257)
 id 90da7fed61c5e7675541ab75
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.200.2 49154
周六 四月 26 13:20:46 2014 DEBUG ICE reverse check complete 192.168.200.2 port 49154 (local 192.168.200.2 port 49152)
周六 四月 26 13:20:46 2014 RECEIVED STUN packet from 192.168.16.102 port 49155
 type Binding Request (1)
 id dd5c290b6b179b2d7240ce60
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270974
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:46 2014 SENT Sent to 192.168.16.102 port 49155 (local 192.168.16.102 port 49153)
 type Binding Response (257)
 id dd5c290b6b179b2d7240ce60
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.16.102 49155
周六 四月 26 13:20:46 2014 DEBUG ICE reverse check complete 192.168.16.102 port 49155 (local 192.168.16.102 port 49153)
周六 四月 26 13:20:46 2014 RECEIVED STUN packet from 192.168.16.102 port 61669
 type Binding Request (1)
 id a85d25864f7639898edcc091
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270974
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:46 2014 SENT Sent to 192.168.16.102 port 61669 (local 192.168.16.102 port 49153)
 type Binding Response (257)
 id a85d25864f7639898edcc091
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.16.102 61669
周六 四月 26 13:20:46 2014 DEBUG ICE reverse check complete 192.168.16.102 port 61669 (local 192.168.16.102 port 49153)
周六 四月 26 13:20:46 2014 RECEIVED STUN packet from 192.168.16.102 port 49155
 type Binding Request (1)
 id 74d008e9e9d09f743d5b09f8
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270974
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:46 2014 SENT Sent to 192.168.16.102 port 49155 (local 192.168.18.1 port 49153)
 type Binding Response (257)
 id 74d008e9e9d09f743d5b09f8
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.16.102 49155
周六 四月 26 13:20:46 2014 DEBUG ICE reverse check complete 192.168.16.102 port 49155 (local 192.168.18.1 port 49153)
周六 四月 26 13:20:46 2014 RECEIVED STUN packet from 192.168.18.1 port 49155
 type Binding Request (1)
 id 85add5bcb6e31e664facbe3c
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270974
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:46 2014 SENT Sent to 192.168.18.1 port 49155 (local 192.168.18.1 port 49153)
 type Binding Response (257)
 id 85add5bcb6e31e664facbe3c
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.18.1 49155
周六 四月 26 13:20:46 2014 DEBUG ICE reverse check complete 192.168.18.1 port 49155 (local 192.168.18.1 port 49153)
周六 四月 26 13:20:46 2014 RECEIVED STUN packet from 192.168.200.2 port 49155
 type Binding Request (1)
 id ae48a2a6d2f81e9f75bcaace
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270974
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:46 2014 SENT Sent to 192.168.200.2 port 49155 (local 192.168.18.1 port 49153)
 type Binding Response (257)
 id ae48a2a6d2f81e9f75bcaace
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.200.2 49155
周六 四月 26 13:20:46 2014 DEBUG ICE reverse check complete 192.168.200.2 port 49155 (local 192.168.18.1 port 49153)
周六 四月 26 13:20:46 2014 RECEIVED STUN packet from 192.168.200.2 port 49155
 type Binding Request (1)
 id af5a3b5609acb3fd1cfb91fa
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270974
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:46 2014 SENT Sent to 192.168.200.2 port 49155 (local 192.168.200.2 port 49153)
 type Binding Response (257)
 id af5a3b5609acb3fd1cfb91fa
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.200.2 49155
周六 四月 26 13:20:46 2014 DEBUG ICE reverse check complete 192.168.200.2 port 49155 (local 192.168.200.2 port 49153)
周六 四月 26 13:20:46 2014 RECEIVED STUN packet from 192.168.16.102 port 49154
 type Binding Request (1)
 id 08e3c994c2ef8c02015661a9
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270975
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:46 2014 SENT Sent to 192.168.16.102 port 49154 (local 192.168.16.102 port 49152)
 type Binding Response (257)
 id 08e3c994c2ef8c02015661a9
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.16.102 49154
周六 四月 26 13:20:46 2014 DEBUG ICE reverse check complete 192.168.16.102 port 49154 (local 192.168.16.102 port 49152)
周六 四月 26 13:20:46 2014 RECEIVED STUN packet from 192.168.16.102 port 61668
 type Binding Request (1)
 id b44fdd6d8dc1c45eadcbaae4
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270975
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:46 2014 SENT Sent to 192.168.16.102 port 61668 (local 192.168.16.102 port 49152)
 type Binding Response (257)
 id b44fdd6d8dc1c45eadcbaae4
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.16.102 61668
周六 四月 26 13:20:46 2014 DEBUG ICE reverse check complete 192.168.16.102 port 61668 (local 192.168.16.102 port 49152)
周六 四月 26 13:20:46 2014 RECEIVED STUN packet from 192.168.16.102 port 49154
 type Binding Request (1)
 id a89fa14d79115f6092080f8e
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270975
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:46 2014 SENT Sent to 192.168.16.102 port 49154 (local 192.168.18.1 port 49152)
 type Binding Response (257)
 id a89fa14d79115f6092080f8e
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.16.102 49154
周六 四月 26 13:20:46 2014 DEBUG ICE reverse check complete 192.168.16.102 port 49154 (local 192.168.18.1 port 49152)
周六 四月 26 13:20:46 2014 RECEIVED STUN packet from 192.168.18.1 port 49154
 type Binding Request (1)
 id 5e84576bf5418fc6ff887708
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270975
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:46 2014 SENT Sent to 192.168.18.1 port 49154 (local 192.168.18.1 port 49152)
 type Binding Response (257)
 id 5e84576bf5418fc6ff887708
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.18.1 49154
周六 四月 26 13:20:46 2014 DEBUG ICE reverse check complete 192.168.18.1 port 49154 (local 192.168.18.1 port 49152)
周六 四月 26 13:20:46 2014 RECEIVED STUN packet from 192.168.200.2 port 49154
 type Binding Request (1)
 id a4256f4e7d1c7dd25511271d
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270975
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:46 2014 SENT Sent to 192.168.200.2 port 49154 (local 192.168.18.1 port 49152)
 type Binding Response (257)
 id a4256f4e7d1c7dd25511271d
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.200.2 49154
周六 四月 26 13:20:46 2014 DEBUG ICE reverse check complete 192.168.200.2 port 49154 (local 192.168.18.1 port 49152)
周六 四月 26 13:20:46 2014 RECEIVED STUN packet from 192.168.200.2 port 49154
 type Binding Request (1)
 id 90da7fed61c5e7675541ab75
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270975
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:46 2014 SENT Sent to 192.168.200.2 port 49154 (local 192.168.200.2 port 49152)
 type Binding Response (257)
 id 90da7fed61c5e7675541ab75
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.200.2 49154
周六 四月 26 13:20:46 2014 DEBUG ICE reverse check complete 192.168.200.2 port 49154 (local 192.168.200.2 port 49152)
周六 四月 26 13:20:46 2014 RECEIVED STUN packet from 192.168.16.102 port 49155
 type Binding Request (1)
 id dd5c290b6b179b2d7240ce60
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270974
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:46 2014 SENT Sent to 192.168.16.102 port 49155 (local 192.168.16.102 port 49153)
 type Binding Response (257)
 id dd5c290b6b179b2d7240ce60
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.16.102 49155
周六 四月 26 13:20:46 2014 DEBUG ICE reverse check complete 192.168.16.102 port 49155 (local 192.168.16.102 port 49153)
周六 四月 26 13:20:46 2014 RECEIVED STUN packet from 192.168.16.102 port 61669
 type Binding Request (1)
 id a85d25864f7639898edcc091
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270974
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:46 2014 SENT Sent to 192.168.16.102 port 61669 (local 192.168.16.102 port 49153)
 type Binding Response (257)
 id a85d25864f7639898edcc091
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.16.102 61669
周六 四月 26 13:20:46 2014 DEBUG ICE reverse check complete 192.168.16.102 port 61669 (local 192.168.16.102 port 49153)
周六 四月 26 13:20:46 2014 RECEIVED STUN packet from 192.168.16.102 port 49155
 type Binding Request (1)
 id 74d008e9e9d09f743d5b09f8
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270974
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:46 2014 SENT Sent to 192.168.16.102 port 49155 (local 192.168.18.1 port 49153)
 type Binding Response (257)
 id 74d008e9e9d09f743d5b09f8
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.16.102 49155
周六 四月 26 13:20:46 2014 DEBUG ICE reverse check complete 192.168.16.102 port 49155 (local 192.168.18.1 port 49153)
周六 四月 26 13:20:46 2014 RECEIVED STUN packet from 192.168.18.1 port 49155
 type Binding Request (1)
 id 85add5bcb6e31e664facbe3c
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270974
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:46 2014 SENT Sent to 192.168.18.1 port 49155 (local 192.168.18.1 port 49153)
 type Binding Response (257)
 id 85add5bcb6e31e664facbe3c
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.18.1 49155
周六 四月 26 13:20:46 2014 DEBUG ICE reverse check complete 192.168.18.1 port 49155 (local 192.168.18.1 port 49153)
周六 四月 26 13:20:46 2014 RECEIVED STUN packet from 192.168.200.2 port 49155
 type Binding Request (1)
 id ae48a2a6d2f81e9f75bcaace
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270974
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:46 2014 SENT Sent to 192.168.200.2 port 49155 (local 192.168.18.1 port 49153)
 type Binding Response (257)
 id ae48a2a6d2f81e9f75bcaace
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.200.2 49155
周六 四月 26 13:20:46 2014 DEBUG ICE reverse check complete 192.168.200.2 port 49155 (local 192.168.18.1 port 49153)
周六 四月 26 13:20:46 2014 RECEIVED STUN packet from 192.168.200.2 port 49155
 type Binding Request (1)
 id af5a3b5609acb3fd1cfb91fa
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270974
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:46 2014 SENT Sent to 192.168.200.2 port 49155 (local 192.168.200.2 port 49153)
 type Binding Response (257)
 id af5a3b5609acb3fd1cfb91fa
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.200.2 49155
周六 四月 26 13:20:46 2014 DEBUG ICE reverse check complete 192.168.200.2 port 49155 (local 192.168.200.2 port 49153)
周六 四月 26 13:20:47 2014 RECEIVED STUN packet from 192.168.16.102 port 49154
 type Binding Request (1)
 id 08e3c994c2ef8c02015661a9
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270975
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:47 2014 SENT Sent to 192.168.16.102 port 49154 (local 192.168.16.102 port 49152)
 type Binding Response (257)
 id 08e3c994c2ef8c02015661a9
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.16.102 49154
周六 四月 26 13:20:47 2014 DEBUG ICE reverse check complete 192.168.16.102 port 49154 (local 192.168.16.102 port 49152)
周六 四月 26 13:20:47 2014 RECEIVED STUN packet from 192.168.16.102 port 61668
 type Binding Request (1)
 id b44fdd6d8dc1c45eadcbaae4
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270975
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:47 2014 SENT Sent to 192.168.16.102 port 61668 (local 192.168.16.102 port 49152)
 type Binding Response (257)
 id b44fdd6d8dc1c45eadcbaae4
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.16.102 61668
周六 四月 26 13:20:47 2014 DEBUG ICE reverse check complete 192.168.16.102 port 61668 (local 192.168.16.102 port 49152)
周六 四月 26 13:20:47 2014 RECEIVED STUN packet from 192.168.16.102 port 49154
 type Binding Request (1)
 id a89fa14d79115f6092080f8e
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270975
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:47 2014 SENT Sent to 192.168.16.102 port 49154 (local 192.168.18.1 port 49152)
 type Binding Response (257)
 id a89fa14d79115f6092080f8e
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.16.102 49154
周六 四月 26 13:20:47 2014 DEBUG ICE reverse check complete 192.168.16.102 port 49154 (local 192.168.18.1 port 49152)
周六 四月 26 13:20:47 2014 RECEIVED STUN packet from 192.168.18.1 port 49154
 type Binding Request (1)
 id 5e84576bf5418fc6ff887708
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270975
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:47 2014 SENT Sent to 192.168.18.1 port 49154 (local 192.168.18.1 port 49152)
 type Binding Response (257)
 id 5e84576bf5418fc6ff887708
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.18.1 49154
周六 四月 26 13:20:47 2014 DEBUG ICE reverse check complete 192.168.18.1 port 49154 (local 192.168.18.1 port 49152)
周六 四月 26 13:20:47 2014 RECEIVED STUN packet from 192.168.200.2 port 49154
 type Binding Request (1)
 id a4256f4e7d1c7dd25511271d
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270975
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:47 2014 SENT Sent to 192.168.200.2 port 49154 (local 192.168.18.1 port 49152)
 type Binding Response (257)
 id a4256f4e7d1c7dd25511271d
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.200.2 49154
周六 四月 26 13:20:47 2014 DEBUG ICE reverse check complete 192.168.200.2 port 49154 (local 192.168.18.1 port 49152)
周六 四月 26 13:20:47 2014 RECEIVED STUN packet from 192.168.200.2 port 49154
 type Binding Request (1)
 id 90da7fed61c5e7675541ab75
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270975
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:47 2014 SENT Sent to 192.168.200.2 port 49154 (local 192.168.200.2 port 49152)
 type Binding Response (257)
 id 90da7fed61c5e7675541ab75
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.200.2 49154
周六 四月 26 13:20:47 2014 DEBUG ICE reverse check complete 192.168.200.2 port 49154 (local 192.168.200.2 port 49152)
周六 四月 26 13:20:47 2014 RECEIVED STUN packet from 192.168.16.102 port 49155
 type Binding Request (1)
 id dd5c290b6b179b2d7240ce60
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270974
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:47 2014 SENT Sent to 192.168.16.102 port 49155 (local 192.168.16.102 port 49153)
 type Binding Response (257)
 id dd5c290b6b179b2d7240ce60
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.16.102 49155
周六 四月 26 13:20:47 2014 DEBUG ICE reverse check complete 192.168.16.102 port 49155 (local 192.168.16.102 port 49153)
周六 四月 26 13:20:47 2014 RECEIVED STUN packet from 192.168.16.102 port 61669
 type Binding Request (1)
 id a85d25864f7639898edcc091
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270974
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:47 2014 SENT Sent to 192.168.16.102 port 61669 (local 192.168.16.102 port 49153)
 type Binding Response (257)
 id a85d25864f7639898edcc091
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.16.102 61669
周六 四月 26 13:20:47 2014 DEBUG ICE reverse check complete 192.168.16.102 port 61669 (local 192.168.16.102 port 49153)
周六 四月 26 13:20:47 2014 RECEIVED STUN packet from 192.168.16.102 port 49155
 type Binding Request (1)
 id 74d008e9e9d09f743d5b09f8
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270974
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:47 2014 SENT Sent to 192.168.16.102 port 49155 (local 192.168.18.1 port 49153)
 type Binding Response (257)
 id 74d008e9e9d09f743d5b09f8
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.16.102 49155
周六 四月 26 13:20:47 2014 DEBUG ICE reverse check complete 192.168.16.102 port 49155 (local 192.168.18.1 port 49153)
周六 四月 26 13:20:47 2014 RECEIVED STUN packet from 192.168.18.1 port 49155
 type Binding Request (1)
 id 85add5bcb6e31e664facbe3c
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270974
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:47 2014 SENT Sent to 192.168.18.1 port 49155 (local 192.168.18.1 port 49153)
 type Binding Response (257)
 id 85add5bcb6e31e664facbe3c
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.18.1 49155
周六 四月 26 13:20:47 2014 DEBUG ICE reverse check complete 192.168.18.1 port 49155 (local 192.168.18.1 port 49153)
周六 四月 26 13:20:47 2014 RECEIVED STUN packet from 192.168.200.2 port 49155
 type Binding Request (1)
 id ae48a2a6d2f81e9f75bcaace
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270974
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:47 2014 SENT Sent to 192.168.200.2 port 49155 (local 192.168.18.1 port 49153)
 type Binding Response (257)
 id ae48a2a6d2f81e9f75bcaace
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.200.2 49155
周六 四月 26 13:20:47 2014 DEBUG ICE reverse check complete 192.168.200.2 port 49155 (local 192.168.18.1 port 49153)
周六 四月 26 13:20:47 2014 RECEIVED STUN packet from 192.168.200.2 port 49155
 type Binding Request (1)
 id af5a3b5609acb3fd1cfb91fa
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270974
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:47 2014 SENT Sent to 192.168.200.2 port 49155 (local 192.168.200.2 port 49153)
 type Binding Response (257)
 id af5a3b5609acb3fd1cfb91fa
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.200.2 49155
周六 四月 26 13:20:47 2014 DEBUG ICE reverse check complete 192.168.200.2 port 49155 (local 192.168.200.2 port 49153)
周六 四月 26 13:20:47 2014 RECEIVED STUN packet from 192.168.16.102 port 49154
 type Binding Request (1)
 id 08e3c994c2ef8c02015661a9
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270975
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:47 2014 SENT Sent to 192.168.16.102 port 49154 (local 192.168.16.102 port 49152)
 type Binding Response (257)
 id 08e3c994c2ef8c02015661a9
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.16.102 49154
周六 四月 26 13:20:47 2014 DEBUG ICE reverse check complete 192.168.16.102 port 49154 (local 192.168.16.102 port 49152)
周六 四月 26 13:20:47 2014 RECEIVED STUN packet from 192.168.16.102 port 61668
 type Binding Request (1)
 id b44fdd6d8dc1c45eadcbaae4
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270975
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:47 2014 SENT Sent to 192.168.16.102 port 61668 (local 192.168.16.102 port 49152)
 type Binding Response (257)
 id b44fdd6d8dc1c45eadcbaae4
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.16.102 61668
周六 四月 26 13:20:47 2014 DEBUG ICE reverse check complete 192.168.16.102 port 61668 (local 192.168.16.102 port 49152)
周六 四月 26 13:20:47 2014 RECEIVED STUN packet from 192.168.16.102 port 49154
 type Binding Request (1)
 id a89fa14d79115f6092080f8e
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270975
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:47 2014 SENT Sent to 192.168.16.102 port 49154 (local 192.168.18.1 port 49152)
 type Binding Response (257)
 id a89fa14d79115f6092080f8e
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.16.102 49154
周六 四月 26 13:20:47 2014 DEBUG ICE reverse check complete 192.168.16.102 port 49154 (local 192.168.18.1 port 49152)
周六 四月 26 13:20:47 2014 RECEIVED STUN packet from 192.168.18.1 port 49154
 type Binding Request (1)
 id 5e84576bf5418fc6ff887708
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270975
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:47 2014 SENT Sent to 192.168.18.1 port 49154 (local 192.168.18.1 port 49152)
 type Binding Response (257)
 id 5e84576bf5418fc6ff887708
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.18.1 49154
周六 四月 26 13:20:47 2014 DEBUG ICE reverse check complete 192.168.18.1 port 49154 (local 192.168.18.1 port 49152)
周六 四月 26 13:20:47 2014 RECEIVED STUN packet from 192.168.200.2 port 49154
 type Binding Request (1)
 id a4256f4e7d1c7dd25511271d
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270975
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:47 2014 SENT Sent to 192.168.200.2 port 49154 (local 192.168.18.1 port 49152)
 type Binding Response (257)
 id a4256f4e7d1c7dd25511271d
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.200.2 49154
周六 四月 26 13:20:47 2014 DEBUG ICE reverse check complete 192.168.200.2 port 49154 (local 192.168.18.1 port 49152)
周六 四月 26 13:20:47 2014 RECEIVED STUN packet from 192.168.200.2 port 49154
 type Binding Request (1)
 id 90da7fed61c5e7675541ab75
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270975
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:47 2014 SENT Sent to 192.168.200.2 port 49154 (local 192.168.200.2 port 49152)
 type Binding Response (257)
 id 90da7fed61c5e7675541ab75
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.200.2 49154
周六 四月 26 13:20:47 2014 DEBUG ICE reverse check complete 192.168.200.2 port 49154 (local 192.168.200.2 port 49152)
周六 四月 26 13:20:47 2014 RECEIVED STUN packet from 192.168.16.102 port 49155
 type Binding Request (1)
 id dd5c290b6b179b2d7240ce60
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270974
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:47 2014 SENT Sent to 192.168.16.102 port 49155 (local 192.168.16.102 port 49153)
 type Binding Response (257)
 id dd5c290b6b179b2d7240ce60
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.16.102 49155
周六 四月 26 13:20:47 2014 DEBUG ICE reverse check complete 192.168.16.102 port 49155 (local 192.168.16.102 port 49153)
周六 四月 26 13:20:47 2014 RECEIVED STUN packet from 192.168.16.102 port 61669
 type Binding Request (1)
 id a85d25864f7639898edcc091
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270974
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:47 2014 SENT Sent to 192.168.16.102 port 61669 (local 192.168.16.102 port 49153)
 type Binding Response (257)
 id a85d25864f7639898edcc091
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.16.102 61669
周六 四月 26 13:20:47 2014 DEBUG ICE reverse check complete 192.168.16.102 port 61669 (local 192.168.16.102 port 49153)
周六 四月 26 13:20:47 2014 RECEIVED STUN packet from 192.168.16.102 port 49155
 type Binding Request (1)
 id 74d008e9e9d09f743d5b09f8
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270974
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:47 2014 SENT Sent to 192.168.16.102 port 49155 (local 192.168.18.1 port 49153)
 type Binding Response (257)
 id 74d008e9e9d09f743d5b09f8
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.16.102 49155
周六 四月 26 13:20:47 2014 DEBUG ICE reverse check complete 192.168.16.102 port 49155 (local 192.168.18.1 port 49153)
周六 四月 26 13:20:47 2014 RECEIVED STUN packet from 192.168.18.1 port 49155
 type Binding Request (1)
 id 85add5bcb6e31e664facbe3c
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270974
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:47 2014 SENT Sent to 192.168.18.1 port 49155 (local 192.168.18.1 port 49153)
 type Binding Response (257)
 id 85add5bcb6e31e664facbe3c
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.18.1 49155
周六 四月 26 13:20:47 2014 DEBUG ICE reverse check complete 192.168.18.1 port 49155 (local 192.168.18.1 port 49153)
周六 四月 26 13:20:47 2014 RECEIVED STUN packet from 192.168.200.2 port 49155
 type Binding Request (1)
 id ae48a2a6d2f81e9f75bcaace
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270974
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:47 2014 SENT Sent to 192.168.200.2 port 49155 (local 192.168.18.1 port 49153)
 type Binding Response (257)
 id ae48a2a6d2f81e9f75bcaace
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.200.2 49155
周六 四月 26 13:20:47 2014 DEBUG ICE reverse check complete 192.168.200.2 port 49155 (local 192.168.18.1 port 49153)
周六 四月 26 13:20:47 2014 RECEIVED STUN packet from 192.168.200.2 port 49155
 type Binding Request (1)
 id af5a3b5609acb3fd1cfb91fa
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270974
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:47 2014 SENT Sent to 192.168.200.2 port 49155 (local 192.168.200.2 port 49153)
 type Binding Response (257)
 id af5a3b5609acb3fd1cfb91fa
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.200.2 49155
周六 四月 26 13:20:47 2014 DEBUG ICE reverse check complete 192.168.200.2 port 49155 (local 192.168.200.2 port 49153)
周六 四月 26 13:20:48 2014 RECEIVED STUN packet from 192.168.16.102 port 49154
 type Binding Request (1)
 id 08e3c994c2ef8c02015661a9
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270975
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:48 2014 SENT Sent to 192.168.16.102 port 49154 (local 192.168.16.102 port 49152)
 type Binding Response (257)
 id 08e3c994c2ef8c02015661a9
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.16.102 49154
周六 四月 26 13:20:48 2014 DEBUG ICE reverse check complete 192.168.16.102 port 49154 (local 192.168.16.102 port 49152)
周六 四月 26 13:20:48 2014 RECEIVED STUN packet from 192.168.16.102 port 61668
 type Binding Request (1)
 id b44fdd6d8dc1c45eadcbaae4
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270975
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:48 2014 SENT Sent to 192.168.16.102 port 61668 (local 192.168.16.102 port 49152)
 type Binding Response (257)
 id b44fdd6d8dc1c45eadcbaae4
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.16.102 61668
周六 四月 26 13:20:48 2014 DEBUG ICE reverse check complete 192.168.16.102 port 61668 (local 192.168.16.102 port 49152)
周六 四月 26 13:20:48 2014 RECEIVED STUN packet from 192.168.16.102 port 49154
 type Binding Request (1)
 id a89fa14d79115f6092080f8e
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270975
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:48 2014 SENT Sent to 192.168.16.102 port 49154 (local 192.168.18.1 port 49152)
 type Binding Response (257)
 id a89fa14d79115f6092080f8e
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.16.102 49154
周六 四月 26 13:20:48 2014 DEBUG ICE reverse check complete 192.168.16.102 port 49154 (local 192.168.18.1 port 49152)
周六 四月 26 13:20:48 2014 RECEIVED STUN packet from 192.168.18.1 port 49154
 type Binding Request (1)
 id 5e84576bf5418fc6ff887708
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270975
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:48 2014 SENT Sent to 192.168.18.1 port 49154 (local 192.168.18.1 port 49152)
 type Binding Response (257)
 id 5e84576bf5418fc6ff887708
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.18.1 49154
周六 四月 26 13:20:48 2014 DEBUG ICE reverse check complete 192.168.18.1 port 49154 (local 192.168.18.1 port 49152)
周六 四月 26 13:20:48 2014 RECEIVED STUN packet from 192.168.200.2 port 49154
 type Binding Request (1)
 id a4256f4e7d1c7dd25511271d
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270975
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:48 2014 SENT Sent to 192.168.200.2 port 49154 (local 192.168.18.1 port 49152)
 type Binding Response (257)
 id a4256f4e7d1c7dd25511271d
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.200.2 49154
周六 四月 26 13:20:48 2014 DEBUG ICE reverse check complete 192.168.200.2 port 49154 (local 192.168.18.1 port 49152)
周六 四月 26 13:20:48 2014 RECEIVED STUN packet from 192.168.200.2 port 49154
 type Binding Request (1)
 id 90da7fed61c5e7675541ab75
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270975
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:48 2014 SENT Sent to 192.168.200.2 port 49154 (local 192.168.200.2 port 49152)
 type Binding Response (257)
 id 90da7fed61c5e7675541ab75
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.200.2 49154
周六 四月 26 13:20:48 2014 DEBUG ICE reverse check complete 192.168.200.2 port 49154 (local 192.168.200.2 port 49152)
周六 四月 26 13:20:48 2014 RECEIVED STUN packet from 192.168.16.102 port 49155
 type Binding Request (1)
 id dd5c290b6b179b2d7240ce60
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270974
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:48 2014 SENT Sent to 192.168.16.102 port 49155 (local 192.168.16.102 port 49153)
 type Binding Response (257)
 id dd5c290b6b179b2d7240ce60
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.16.102 49155
周六 四月 26 13:20:48 2014 DEBUG ICE reverse check complete 192.168.16.102 port 49155 (local 192.168.16.102 port 49153)
周六 四月 26 13:20:48 2014 RECEIVED STUN packet from 192.168.16.102 port 61669
 type Binding Request (1)
 id a85d25864f7639898edcc091
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270974
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:48 2014 SENT Sent to 192.168.16.102 port 61669 (local 192.168.16.102 port 49153)
 type Binding Response (257)
 id a85d25864f7639898edcc091
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.16.102 61669
周六 四月 26 13:20:48 2014 DEBUG ICE reverse check complete 192.168.16.102 port 61669 (local 192.168.16.102 port 49153)
周六 四月 26 13:20:48 2014 RECEIVED STUN packet from 192.168.16.102 port 49155
 type Binding Request (1)
 id 74d008e9e9d09f743d5b09f8
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270974
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:48 2014 SENT Sent to 192.168.16.102 port 49155 (local 192.168.18.1 port 49153)
 type Binding Response (257)
 id 74d008e9e9d09f743d5b09f8
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.16.102 49155
周六 四月 26 13:20:48 2014 DEBUG ICE reverse check complete 192.168.16.102 port 49155 (local 192.168.18.1 port 49153)
周六 四月 26 13:20:48 2014 RECEIVED STUN packet from 192.168.18.1 port 49155
 type Binding Request (1)
 id 85add5bcb6e31e664facbe3c
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270974
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:48 2014 SENT Sent to 192.168.18.1 port 49155 (local 192.168.18.1 port 49153)
 type Binding Response (257)
 id 85add5bcb6e31e664facbe3c
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.18.1 49155
周六 四月 26 13:20:48 2014 DEBUG ICE reverse check complete 192.168.18.1 port 49155 (local 192.168.18.1 port 49153)
周六 四月 26 13:20:48 2014 RECEIVED STUN packet from 192.168.200.2 port 49155
 type Binding Request (1)
 id ae48a2a6d2f81e9f75bcaace
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270974
 * ICE-CONTROLLED 0000000000000000
bufferSize 2560 
周六 四月 26 13:20:48 2014 SENT Sent to 192.168.200.2 port 49155 (local 192.168.18.1 port 49153)
 type Binding Response (257)
 id ae48a2a6d2f81e9f75bcaace
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.200.2 49155
周六 四月 26 13:20:48 2014 DEBUG ICE reverse check complete 192.168.200.2 port 49155 (local 192.168.18.1 port 49153)
周六 四月 26 13:20:48 2014 RECEIVED STUN packet from 192.168.200.2 port 49155
 type Binding Request (1)
 id af5a3b5609acb3fd1cfb91fa
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270974
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:48 2014 SENT Sent to 192.168.200.2 port 49155 (local 192.168.200.2 port 49153)
 type Binding Response (257)
 id af5a3b5609acb3fd1cfb91fa
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.200.2 49155
周六 四月 26 13:20:48 2014 DEBUG ICE reverse check complete 192.168.200.2 port 49155 (local 192.168.200.2 port 49153)
周六 四月 26 13:20:48 2014 RECEIVED <iq id="qxmpp12" to="hk520580@xiaozhen/QXmpp" type="set" from="fish@xiaozhen/QXmpp"><jingle xmlns="urn:xmpp:jingle:1" action="session-accept" responder="fish@xiaozhen/QXmpp" sid="wXyN88jvZv0XXfounrVDFwrxfTyAL0sJ"><content creator="initiator" name="voice"><description xmlns="urn:xmpp:jingle:apps:rtp:1" media="audio"><payload-type id="0" name="PCMU" clockrate="8000"/><payload-type id="8" name="PCMA" clockrate="8000"/><payload-type id="101" name="telephone-event" clockrate="8000"><parameter name="events" value="0-15"/></payload-type></description><transport xmlns="urn:xmpp:jingle:transports:ice-udp:1" ufrag="S8jf" pwd="Djar0DVrwrvqfLF2c7Puhh"><candidate component="1" foundation="0" generation="0" id="mCieTEhRVk" ip="192.168.16.102" network="0" port="49154" priority="2130706431" protocol="udp" type="host"/><candidate component="1" foundation="1" generation="0" id="tOMMJpoZar" ip="192.168.18.1" network="0" port="49154" priority="2130706431" protocol="udp" type="host"/><candidate component="1" foundation="2" generation="0" id="yESGqpglg3" ip="192.168.200.2" network="0" port="49154" priority="2130706431" protocol="udp" type="host"/><candidate component="2" foundation="0" generation="0" id="DekEFHLrmv" ip="192.168.16.102" network="0" port="49155" priority="2130706430" protocol="udp" type="host"/><candidate component="2" foundation="1" generation="0" id="pWkCzqQHol" ip="192.168.18.1" network="0" port="49155" priority="2130706430" protocol="udp" type="host"/><candidate component="2" foundation="2" generation="0" id="oRXxw01Ym0" ip="192.168.200.2" network="0" port="49155" priority="2130706430" protocol="udp" type="host"/></transport></content></jingle></iq>
周六 四月 26 13:20:48 2014 SENT <iq id="qxmpp12" to="fish@xiaozhen/QXmpp" type="result"/>
周六 四月 26 13:20:48 2014 DEBUG Checking remote candidates
周六 四月 26 13:20:48 2014 SENT Sent to 192.168.16.102 port 49154 (local 192.168.16.102 port 49152)
 type Binding Request (1)
 id 8adc03278c78577e2805bc7d
 * USERNAME S8jf:kSEr
 * PRIORITY 1862270975
 * ICE-CONTROLLING 0000000000000000
周六 四月 26 13:20:48 2014 SENT Sent to 192.168.16.102 port 61668 (local 192.168.16.102 port 49152)
 type Binding Request (1)
 id 56880ba960fe13df54ea6a30
 * USERNAME S8jf:kSEr
 * PRIORITY 1862270975
 * ICE-CONTROLLING 0000000000000000
周六 四月 26 13:20:48 2014 SENT Sent to 192.168.16.102 port 49154 (local 192.168.18.1 port 49152)
 type Binding Request (1)
 id 9d64ae3900067e2b557a8740
 * USERNAME S8jf:kSEr
 * PRIORITY 1862270975
 * ICE-CONTROLLING 0000000000000000
周六 四月 26 13:20:48 2014 SENT Sent to 192.168.18.1 port 49154 (local 192.168.18.1 port 49152)
 type Binding Request (1)
 id a38b5fd0866115ce988adf8e
 * USERNAME S8jf:kSEr
 * PRIORITY 1862270975
 * ICE-CONTROLLING 0000000000000000
周六 四月 26 13:20:48 2014 SENT Sent to 192.168.200.2 port 49154 (local 192.168.18.1 port 49152)
 type Binding Request (1)
 id c3882988d99043a18b05a1fc
 * USERNAME S8jf:kSEr
 * PRIORITY 1862270975
 * ICE-CONTROLLING 0000000000000000
周六 四月 26 13:20:48 2014 SENT Sent to 192.168.200.2 port 49154 (local 192.168.200.2 port 49152)
 type Binding Request (1)
 id b50460e6a1dd7680360da7d1
 * USERNAME S8jf:kSEr
 * PRIORITY 1862270975
 * ICE-CONTROLLING 0000000000000000
周六 四月 26 13:20:48 2014 DEBUG Checking remote candidates
周六 四月 26 13:20:48 2014 SENT Sent to 192.168.16.102 port 49155 (local 192.168.16.102 port 49153)
 type Binding Request (1)
 id 9b7edba06a4db354740fab01
 * USERNAME S8jf:kSEr
 * PRIORITY 1862270974
 * ICE-CONTROLLING 0000000000000000
周六 四月 26 13:20:48 2014 SENT Sent to 192.168.16.102 port 61669 (local 192.168.16.102 port 49153)
 type Binding Request (1)
 id 83e5da6e85a7d9a632deca1f
 * USERNAME S8jf:kSEr
 * PRIORITY 1862270974
 * ICE-CONTROLLING 0000000000000000
周六 四月 26 13:20:48 2014 SENT Sent to 192.168.16.102 port 49155 (local 192.168.18.1 port 49153)
 type Binding Request (1)
 id 47ef0706bb49fb3caf8b46e7
 * USERNAME S8jf:kSEr
 * PRIORITY 1862270974
 * ICE-CONTROLLING 0000000000000000
周六 四月 26 13:20:48 2014 SENT Sent to 192.168.18.1 port 49155 (local 192.168.18.1 port 49153)
 type Binding Request (1)
 id a01acf7b00a8f5092a32a7c4
 * USERNAME S8jf:kSEr
 * PRIORITY 1862270974
 * ICE-CONTROLLING 0000000000000000
周六 四月 26 13:20:48 2014 SENT Sent to 192.168.200.2 port 49155 (local 192.168.18.1 port 49153)
 type Binding Request (1)
 id ab810a6d473120848834ca75
 * USERNAME S8jf:kSEr
 * PRIORITY 1862270974
 * ICE-CONTROLLING 0000000000000000
周六 四月 26 13:20:48 2014 SENT Sent to 192.168.200.2 port 49155 (local 192.168.200.2 port 49153)
 type Binding Request (1)
 id 0e8a990042dff8c566799dd9
 * USERNAME S8jf:kSEr
 * PRIORITY 1862270974
 * ICE-CONTROLLING 0000000000000000
周六 四月 26 13:20:48 2014 SENT <iq id="qxmpp14" to="fish@xiaozhen/QXmpp" type="set"><jingle xmlns="urn:xmpp:jingle:1" action="content-add" sid="wXyN88jvZv0XXfounrVDFwrxfTyAL0sJ"><content creator="initiator" name="webcam" senders="both"><transport xmlns="urn:xmpp:jingle:transports:ice-udp:1" ufrag="FKd8" pwd="DqK4DYsLkfO8XAbvcXl0kP"><candidate component="1" foundation="0" generation="0" id="CnnaXPE4ak" ip="192.168.16.102" network="0" port="49156" priority="2130706431" protocol="udp" type="host"/><candidate component="1" foundation="1" generation="0" id="mk2kqSnQht" ip="192.168.18.1" network="0" port="49156" priority="2130706431" protocol="udp" type="host"/><candidate component="1" foundation="2" generation="0" id="1UArHxnDbM" ip="192.168.200.2" network="0" port="49156" priority="2130706431" protocol="udp" type="host"/><candidate component="2" foundation="0" generation="0" id="eTlN5IOqtv" ip="192.168.16.102" network="0" port="49157" priority="2130706430" protocol="udp" type="host"/><candidate component="2" foundation="1" generation="0" id="MxUa7rBafq" ip="192.168.18.1" network="0" port="49157" priority="2130706430" protocol="udp" type="host"/><candidate component="2" foundation="2" generation="0" id="Ser0lruFNX" ip="192.168.200.2" network="0" port="49157" priority="2130706430" protocol="udp" type="host"/></transport></content></jingle></iq>
周六 四月 26 13:20:48 2014 RECEIVED STUN packet from 192.168.16.102 port 49154
 type Binding Response (257)
 id 8adc03278c78577e2805bc7d
 * USERNAME S8jf:kSEr
 * XOR-MAPPED-ADDRESS 192.168.16.102 49152
周六 四月 26 13:20:48 2014 DEBUG ICE forward check complete 192.168.16.102 port 49154 (local 192.168.16.102 port 49152) (reflexive 192.168.16.102 port 49152)
周六 四月 26 13:20:48 2014 INFO ICE pair selected 192.168.16.102 port 49154 (local 192.168.16.102 port 49152) (reflexive 192.168.16.102 port 49152) (priority: 7998392938176446463)
周六 四月 26 13:20:48 2014 RECEIVED STUN packet from 192.168.16.102 port 49154
 type Binding Request (1)
 id 08e3c994c2ef8c02015661a9
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270975
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:48 2014 SENT Sent to 192.168.16.102 port 49154 (local 192.168.16.102 port 49152) (reflexive 192.168.16.102 port 49152)
 type Binding Response (257)
 id 08e3c994c2ef8c02015661a9
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.16.102 49154
周六 四月 26 13:20:48 2014 DEBUG ICE reverse check complete 192.168.16.102 port 49154 (local 192.168.16.102 port 49152) (reflexive 192.168.16.102 port 49152)
周六 四月 26 13:20:48 2014 RECEIVED STUN packet from 192.168.16.102 port 61668
 type Binding Response (257)
 id 56880ba960fe13df54ea6a30
 * USERNAME S8jf:kSEr
 * XOR-MAPPED-ADDRESS 192.168.16.102 49152
周六 四月 26 13:20:48 2014 DEBUG ICE forward check complete 192.168.16.102 port 61668 (local 192.168.16.102 port 49152) (reflexive 192.168.16.102 port 49152)
周六 四月 26 13:20:48 2014 RECEIVED STUN packet from 192.168.200.2 port 49154
 type Binding Response (257)
 id b50460e6a1dd7680360da7d1
 * USERNAME S8jf:kSEr
 * XOR-MAPPED-ADDRESS 192.168.200.2 49152
周六 四月 26 13:20:48 2014 DEBUG ICE forward check complete 192.168.200.2 port 49154 (local 192.168.200.2 port 49152) (reflexive 192.168.200.2 port 49152)
周六 四月 26 13:20:48 2014 RECEIVED STUN packet from 192.168.18.1 port 49154
 type Binding Response (257)
 id a38b5fd0866115ce988adf8e
 * USERNAME S8jf:kSEr
 * XOR-MAPPED-ADDRESS 192.168.18.1 49152
周六 四月 26 13:20:48 2014 DEBUG ICE forward check complete 192.168.18.1 port 49154 (local 192.168.18.1 port 49152) (reflexive 192.168.18.1 port 49152)
周六 四月 26 13:20:48 2014 RECEIVED STUN packet from 192.168.16.102 port 49155
 type Binding Response (257)
 id 9b7edba06a4db354740fab01
 * USERNAME S8jf:kSEr
 * XOR-MAPPED-ADDRESS 192.168.16.102 49153
周六 四月 26 13:20:48 2014 DEBUG ICE forward check complete 192.168.16.102 port 49155 (local 192.168.16.102 port 49153) (reflexive 192.168.16.102 port 49153)
周六 四月 26 13:20:48 2014 INFO ICE pair selected 192.168.16.102 port 49155 (local 192.168.16.102 port 49153) (reflexive 192.168.16.102 port 49153) (priority: 7998392933881479165)
周六 四月 26 13:20:48 2014 INFO ICE negotiation completed
周六 四月 26 13:20:48 2014 RECEIVED STUN packet from 192.168.16.102 port 49155
 type Binding Request (1)
 id dd5c290b6b179b2d7240ce60
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270974
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:48 2014 SENT Sent to 192.168.16.102 port 49155 (local 192.168.16.102 port 49153) (reflexive 192.168.16.102 port 49153)
 type Binding Response (257)
 id dd5c290b6b179b2d7240ce60
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.16.102 49155
周六 四月 26 13:20:48 2014 DEBUG ICE reverse check complete 192.168.16.102 port 49155 (local 192.168.16.102 port 49153) (reflexive 192.168.16.102 port 49153)
周六 四月 26 13:20:48 2014 RECEIVED STUN packet from 192.168.16.102 port 61669
 type Binding Response (257)
 id 83e5da6e85a7d9a632deca1f
 * USERNAME S8jf:kSEr
 * XOR-MAPPED-ADDRESS 192.168.16.102 49153
周六 四月 26 13:20:48 2014 DEBUG ICE forward check complete 192.168.16.102 port 61669 (local 192.168.16.102 port 49153) (reflexive 192.168.16.102 port 49153)
周六 四月 26 13:20:48 2014 RECEIVED STUN packet from 192.168.200.2 port 49155
 type Binding Response (257)
 id 0e8a990042dff8c566799dd9
 * USERNAME S8jf:kSEr
 * XOR-MAPPED-ADDRESS 192.168.200.2 49153
周六 四月 26 13:20:48 2014 DEBUG ICE forward check complete 192.168.200.2 port 49155 (local 192.168.200.2 port 49153) (reflexive 192.168.200.2 port 49153)
周六 四月 26 13:20:48 2014 RECEIVED STUN packet from 192.168.18.1 port 49155
 type Binding Response (257)
 id a01acf7b00a8f5092a32a7c4
 * USERNAME S8jf:kSEr
 * XOR-MAPPED-ADDRESS 192.168.18.1 49153
周六 四月 26 13:20:48 2014 DEBUG ICE forward check complete 192.168.18.1 port 49155 (local 192.168.18.1 port 49153) (reflexive 192.168.18.1 port 49153)
周六 四月 26 13:20:48 2014 RECEIVED <iq id="qxmpp14" to="hk520580@xiaozhen/QXmpp" type="result" from="fish@xiaozhen/QXmpp"/>
周六 四月 26 13:20:48 2014 DEBUG Received ACK for packet qxmpp14
周六 四月 26 13:21:41 2014 SENT <iq id="qxmpp16" to="xiaozhen" type="get"><ping xmlns="urn:xmpp:ping"/></iq>
周六 四月 26 13:21:41 2014 RECEIVED <iq type="result" id="qxmpp16" from="xiaozhen" to="hk520580@xiaozhen/QXmpp"/>
周六 四月 26 13:22:41 2014 SENT <iq id="qxmpp18" to="xiaozhen" type="get"><ping xmlns="urn:xmpp:ping"/></iq>
周六 四月 26 13:22:41 2014 RECEIVED <iq type="result" id="qxmpp18" from="xiaozhen" to="hk520580@xiaozhen/QXmpp"/>

the password and user name doesn't mater
the first not have debug information (video),have debug information(audio)

bufferSize 2560 

the logger is:

周六 四月 26 13:20:38 2014 DEBUG Looking up server for domain xiaozhen
周六 四月 26 13:20:38 2014 WARNING Lookup for domain _xmpp-client._tcp.xiaozhen failed: Non existent domain
周六 四月 26 13:20:38 2014 INFO Connecting to xiaozhen:5222
周六 四月 26 13:20:41 2014 INFO Socket connected to 192.168.16.102 5222
周六 四月 26 13:20:41 2014 SENT <?xml version='1.0'?><stream:stream to='xiaozhen' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' version='1.0'>
周六 四月 26 13:20:41 2014 RECEIVED <?xml version='1.0' encoding='UTF-8'?><stream:stream xmlns:stream="http://etherx.jabber.org/streams" xmlns="jabber:client" from="xiaozhen" id="eed522b1" xml:lang="en" version="1.0">
周六 四月 26 13:20:41 2014 RECEIVED <stream:features><starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"></starttls><mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><mechanism>DIGEST-MD5</mechanism><mechanism>PLAIN</mechanism><mechanism>ANONYMOUS</mechanism><mechanism>CRAM-MD5</mechanism></mechanisms><compression xmlns="http://jabber.org/features/compress"><method>zlib</method></compression><auth xmlns="http://jabber.org/features/iq-auth"/><register xmlns="http://jabber.org/features/iq-register"/></stream:features>
周六 四月 26 13:20:41 2014 SENT <starttls xmlns='urn:ietf:params:xml:ns:xmpp-tls'/>
周六 四月 26 13:20:41 2014 RECEIVED <proceed xmlns="urn:ietf:params:xml:ns:xmpp-tls"/>
周六 四月 26 13:20:41 2014 DEBUG Starting encryption
周六 四月 26 13:20:41 2014 WARNING SSL errors
周六 四月 26 13:20:41 2014 WARNING The certificate is self-signed, and untrusted
周六 四月 26 13:20:41 2014 DEBUG Socket encrypted
周六 四月 26 13:20:41 2014 SENT <?xml version='1.0'?><stream:stream to='xiaozhen' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' version='1.0'>
周六 四月 26 13:20:41 2014 RECEIVED <?xml version='1.0' encoding='UTF-8'?><stream:stream xmlns:stream="http://etherx.jabber.org/streams" xmlns="jabber:client" from="xiaozhen" id="eed522b1" xml:lang="en" version="1.0"><stream:features><mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl"><mechanism>DIGEST-MD5</mechanism><mechanism>PLAIN</mechanism><mechanism>ANONYMOUS</mechanism><mechanism>CRAM-MD5</mechanism></mechanisms><compression xmlns="http://jabber.org/features/compress"><method>zlib</method></compression><auth xmlns="http://jabber.org/features/iq-auth"/><register xmlns="http://jabber.org/features/iq-register"/></stream:features>
周六 四月 26 13:20:41 2014 INFO SASL mechanism 'DIGEST-MD5' selected
周六 四月 26 13:20:41 2014 SENT <auth xmlns="urn:ietf:params:xml:ns:xmpp-sasl" mechanism="DIGEST-MD5"/>
周六 四月 26 13:20:41 2014 RECEIVED <challenge xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cmVhbG09InhpYW96aGVuIixub25jZT0iL2RDUTFUTzZGMGc5V2NqbG16Y01DdU5VeU82T3JOaHBYSHQ2YmtiSCIscW9wPSJhdXRoIixjaGFyc2V0PXV0Zi04LGFsZ29yaXRobT1tZDUtc2Vzcw==</challenge>
周六 四月 26 13:20:41 2014 SENT <response xmlns="urn:ietf:params:xml:ns:xmpp-sasl">Y2hhcnNldD11dGYtOCxjbm9uY2U9ImNtSHIxWEZQdzBLOVRGdEpzOU1HTkNhOXJXZ3hma2QwRUJRcC9ZMk5sWVk9IixkaWdlc3QtdXJpPSJ4bXBwL3hpYW96aGVuIixuYz0wMDAwMDAwMSxub25jZT0iL2RDUTFUTzZGMGc5V2NqbG16Y01DdU5VeU82T3JOaHBYSHQ2YmtiSCIscW9wPWF1dGgscmVhbG09eGlhb3poZW4scmVzcG9uc2U9MTJlMDk0M2IwNDA1ZWIyYzJhOGVlMDMxYWU1OTAwZWYsdXNlcm5hbWU9aGs1MjA1ODA=</response>
周六 四月 26 13:20:41 2014 RECEIVED <success xmlns="urn:ietf:params:xml:ns:xmpp-sasl">cnNwYXV0aD1mNGY1Yjc2ZTNkNTBhYWU3ZTEwYWRkNjRkMzg0ZjIxOA==</success>
周六 四月 26 13:20:41 2014 DEBUG Authenticated
周六 四月 26 13:20:41 2014 SENT <?xml version='1.0'?><stream:stream to='xiaozhen' xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' version='1.0'>
周六 四月 26 13:20:41 2014 RECEIVED <?xml version='1.0' encoding='UTF-8'?><stream:stream xmlns:stream="http://etherx.jabber.org/streams" xmlns="jabber:client" from="xiaozhen" id="eed522b1" xml:lang="en" version="1.0"><stream:features><compression xmlns="http://jabber.org/features/compress"><method>zlib</method></compression><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"/><session xmlns="urn:ietf:params:xml:ns:xmpp-session"/></stream:features>
周六 四月 26 13:20:41 2014 SENT <iq id="qxmpp3" type="set"><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"><resource>QXmpp</resource></bind></iq>
周六 四月 26 13:20:41 2014 RECEIVED <iq type="result" id="qxmpp3" to="xiaozhen/eed522b1"><bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"><jid>hk520580@xiaozhen/QXmpp</jid></bind></iq>
周六 四月 26 13:20:41 2014 SENT <iq id="qxmpp5" to="xiaozhen" type="set"><session xmlns="urn:ietf:params:xml:ns:xmpp-session"/></iq>
周六 四月 26 13:20:41 2014 RECEIVED <iq type="result" id="qxmpp5" from="xiaozhen" to="hk520580@xiaozhen/QXmpp"/>
周六 四月 26 13:20:41 2014 SENT <iq id="qxmpp7" from="hk520580@xiaozhen/QXmpp" type="get"><query xmlns="jabber:iq:roster"/></iq>
周六 四月 26 13:20:41 2014 SENT <presence><c xmlns="http://jabber.org/protocol/caps" hash="sha-1" node="http://code.google.com/p/qxmpp" ver="sTOd4oUvoxvLoDSRftccLzK2CRE="/></presence>
周六 四月 26 13:20:41 2014 RECEIVED <iq type="result" id="qxmpp7" to="hk520580@xiaozhen/QXmpp"><query xmlns="jabber:iq:roster"><item jid="fish@xiaozhen" subscription="both"/><item jid="hk520590@xiaozhen" subscription="none"/></query></iq>
周六 四月 26 13:20:41 2014 RECEIVED <presence from="fish@xiaozhen/QXmpp" to="hk520580@xiaozhen/QXmpp"><c xmlns="http://jabber.org/protocol/caps" hash="sha-1" node="http://code.google.com/p/qxmpp" ver="sTOd4oUvoxvLoDSRftccLzK2CRE="/></presence>
周六 四月 26 13:20:44 2014 SENT <iq id="qxmpp9" to="fish@xiaozhen/QXmpp" type="set"><jingle xmlns="urn:xmpp:jingle:1" action="session-initiate" initiator="hk520580@xiaozhen/QXmpp" sid="wXyN88jvZv0XXfounrVDFwrxfTyAL0sJ"><content creator="initiator" name="voice" senders="both"><description xmlns="urn:xmpp:jingle:apps:rtp:1" media="audio"><payload-type id="0" name="PCMU" clockrate="8000"/><payload-type id="8" name="PCMA" clockrate="8000"/><payload-type id="101" name="telephone-event" clockrate="8000"><parameter name="events" value="0-15"/></payload-type></description><transport xmlns="urn:xmpp:jingle:transports:ice-udp:1" ufrag="kSEr" pwd="0OCPUgYq2T2H2Y7PB56VMG"><candidate component="1" foundation="0" generation="0" id="9N1iOmbGwA" ip="192.168.16.102" network="0" port="49152" priority="2130706431" protocol="udp" type="host"/><candidate component="1" foundation="1" generation="0" id="hdHKwOnUFN" ip="192.168.18.1" network="0" port="49152" priority="2130706431" protocol="udp" type="host"/><candidate component="1" foundation="2" generation="0" id="qrg5EKTQj1" ip="192.168.200.2" network="0" port="49152" priority="2130706431" protocol="udp" type="host"/><candidate component="2" foundation="0" generation="0" id="Pv2rGUGKKw" ip="192.168.16.102" network="0" port="49153" priority="2130706430" protocol="udp" type="host"/><candidate component="2" foundation="1" generation="0" id="jA9ZwuSbs3" ip="192.168.18.1" network="0" port="49153" priority="2130706430" protocol="udp" type="host"/><candidate component="2" foundation="2" generation="0" id="MuPMgD0Wbd" ip="192.168.200.2" network="0" port="49153" priority="2130706430" protocol="udp" type="host"/></transport></content></jingle></iq>
周六 四月 26 13:20:44 2014 RECEIVED STUN packet from 192.168.16.102 port 49154
 type Binding Request (1)
 id 08e3c994c2ef8c02015661a9
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270975
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:44 2014 DEBUG Added candidate 192.168.16.102 port 49154 (local 192.168.16.102 port 49152)
周六 四月 26 13:20:44 2014 SENT Sent to 192.168.16.102 port 49154 (local 192.168.16.102 port 49152)
 type Binding Response (257)
 id 08e3c994c2ef8c02015661a9
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.16.102 49154
周六 四月 26 13:20:44 2014 DEBUG ICE reverse check complete 192.168.16.102 port 49154 (local 192.168.16.102 port 49152)
周六 四月 26 13:20:44 2014 RECEIVED STUN packet from 192.168.16.102 port 61668
 type Binding Request (1)
 id b44fdd6d8dc1c45eadcbaae4
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270975
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:44 2014 DEBUG Added candidate 192.168.16.102 port 61668 (local 192.168.16.102 port 49152)
周六 四月 26 13:20:44 2014 SENT Sent to 192.168.16.102 port 61668 (local 192.168.16.102 port 49152)
 type Binding Response (257)
 id b44fdd6d8dc1c45eadcbaae4
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.16.102 61668
周六 四月 26 13:20:44 2014 DEBUG ICE reverse check complete 192.168.16.102 port 61668 (local 192.168.16.102 port 49152)
周六 四月 26 13:20:44 2014 RECEIVED STUN packet from 192.168.16.102 port 49154
 type Binding Request (1)
 id a89fa14d79115f6092080f8e
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270975
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:44 2014 DEBUG Added candidate 192.168.16.102 port 49154 (local 192.168.18.1 port 49152)
周六 四月 26 13:20:44 2014 SENT Sent to 192.168.16.102 port 49154 (local 192.168.18.1 port 49152)
 type Binding Response (257)
 id a89fa14d79115f6092080f8e
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.16.102 49154
周六 四月 26 13:20:44 2014 DEBUG ICE reverse check complete 192.168.16.102 port 49154 (local 192.168.18.1 port 49152)
周六 四月 26 13:20:44 2014 RECEIVED STUN packet from 192.168.18.1 port 49154
 type Binding Request (1)
 id 5e84576bf5418fc6ff887708
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270975
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:44 2014 DEBUG Added candidate 192.168.18.1 port 49154 (local 192.168.18.1 port 49152)
周六 四月 26 13:20:44 2014 SENT Sent to 192.168.18.1 port 49154 (local 192.168.18.1 port 49152)
 type Binding Response (257)
 id 5e84576bf5418fc6ff887708
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.18.1 49154
周六 四月 26 13:20:44 2014 DEBUG ICE reverse check complete 192.168.18.1 port 49154 (local 192.168.18.1 port 49152)
周六 四月 26 13:20:44 2014 RECEIVED STUN packet from 192.168.200.2 port 49154
 type Binding Request (1)
 id a4256f4e7d1c7dd25511271d
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270975
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:44 2014 DEBUG Added candidate 192.168.200.2 port 49154 (local 192.168.18.1 port 49152)
周六 四月 26 13:20:44 2014 SENT Sent to 192.168.200.2 port 49154 (local 192.168.18.1 port 49152)
 type Binding Response (257)
 id a4256f4e7d1c7dd25511271d
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.200.2 49154
周六 四月 26 13:20:44 2014 DEBUG ICE reverse check complete 192.168.200.2 port 49154 (local 192.168.18.1 port 49152)
周六 四月 26 13:20:44 2014 RECEIVED STUN packet from 192.168.200.2 port 49154
 type Binding Request (1)
 id 90da7fed61c5e7675541ab75
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270975
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:44 2014 DEBUG Added candidate 192.168.200.2 port 49154 (local 192.168.200.2 port 49152)
周六 四月 26 13:20:44 2014 SENT Sent to 192.168.200.2 port 49154 (local 192.168.200.2 port 49152)
 type Binding Response (257)
 id 90da7fed61c5e7675541ab75
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.200.2 49154
周六 四月 26 13:20:44 2014 DEBUG ICE reverse check complete 192.168.200.2 port 49154 (local 192.168.200.2 port 49152)
周六 四月 26 13:20:44 2014 RECEIVED STUN packet from 192.168.16.102 port 49155
 type Binding Request (1)
 id dd5c290b6b179b2d7240ce60
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270974
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:44 2014 DEBUG Added candidate 192.168.16.102 port 49155 (local 192.168.16.102 port 49153)
周六 四月 26 13:20:44 2014 SENT Sent to 192.168.16.102 port 49155 (local 192.168.16.102 port 49153)
 type Binding Response (257)
 id dd5c290b6b179b2d7240ce60
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.16.102 49155
周六 四月 26 13:20:44 2014 DEBUG ICE reverse check complete 192.168.16.102 port 49155 (local 192.168.16.102 port 49153)
周六 四月 26 13:20:44 2014 RECEIVED STUN packet from 192.168.16.102 port 61669
 type Binding Request (1)
 id a85d25864f7639898edcc091
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270974
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:44 2014 DEBUG Added candidate 192.168.16.102 port 61669 (local 192.168.16.102 port 49153)
周六 四月 26 13:20:44 2014 SENT Sent to 192.168.16.102 port 61669 (local 192.168.16.102 port 49153)
 type Binding Response (257)
 id a85d25864f7639898edcc091
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.16.102 61669
周六 四月 26 13:20:44 2014 DEBUG ICE reverse check complete 192.168.16.102 port 61669 (local 192.168.16.102 port 49153)
周六 四月 26 13:20:44 2014 RECEIVED STUN packet from 192.168.16.102 port 49155
 type Binding Request (1)
 id 74d008e9e9d09f743d5b09f8
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270974
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:44 2014 DEBUG Added candidate 192.168.16.102 port 49155 (local 192.168.18.1 port 49153)
周六 四月 26 13:20:44 2014 SENT Sent to 192.168.16.102 port 49155 (local 192.168.18.1 port 49153)
 type Binding Response (257)
 id 74d008e9e9d09f743d5b09f8
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.16.102 49155
周六 四月 26 13:20:44 2014 DEBUG ICE reverse check complete 192.168.16.102 port 49155 (local 192.168.18.1 port 49153)
周六 四月 26 13:20:44 2014 RECEIVED STUN packet from 192.168.18.1 port 49155
 type Binding Request (1)
 id 85add5bcb6e31e664facbe3c
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270974
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:44 2014 DEBUG Added candidate 192.168.18.1 port 49155 (local 192.168.18.1 port 49153)
周六 四月 26 13:20:44 2014 SENT Sent to 192.168.18.1 port 49155 (local 192.168.18.1 port 49153)
 type Binding Response (257)
 id 85add5bcb6e31e664facbe3c
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.18.1 49155
周六 四月 26 13:20:44 2014 DEBUG ICE reverse check complete 192.168.18.1 port 49155 (local 192.168.18.1 port 49153)
周六 四月 26 13:20:44 2014 RECEIVED STUN packet from 192.168.200.2 port 49155
 type Binding Request (1)
 id ae48a2a6d2f81e9f75bcaace
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270974
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:44 2014 DEBUG Added candidate 192.168.200.2 port 49155 (local 192.168.18.1 port 49153)
周六 四月 26 13:20:44 2014 SENT Sent to 192.168.200.2 port 49155 (local 192.168.18.1 port 49153)
 type Binding Response (257)
 id ae48a2a6d2f81e9f75bcaace
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.200.2 49155
周六 四月 26 13:20:44 2014 DEBUG ICE reverse check complete 192.168.200.2 port 49155 (local 192.168.18.1 port 49153)
周六 四月 26 13:20:44 2014 RECEIVED STUN packet from 192.168.200.2 port 49155
 type Binding Request (1)
 id af5a3b5609acb3fd1cfb91fa
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270974
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:44 2014 DEBUG Added candidate 192.168.200.2 port 49155 (local 192.168.200.2 port 49153)
周六 四月 26 13:20:44 2014 SENT Sent to 192.168.200.2 port 49155 (local 192.168.200.2 port 49153)
 type Binding Response (257)
 id af5a3b5609acb3fd1cfb91fa
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.200.2 49155
周六 四月 26 13:20:44 2014 DEBUG ICE reverse check complete 192.168.200.2 port 49155 (local 192.168.200.2 port 49153)
周六 四月 26 13:20:44 2014 RECEIVED <iq id="qxmpp9" to="hk520580@xiaozhen/QXmpp" type="result" from="fish@xiaozhen/QXmpp"/>
周六 四月 26 13:20:44 2014 DEBUG Received ACK for packet qxmpp9
周六 四月 26 13:20:44 2014 RECEIVED <iq id="qxmpp11" to="hk520580@xiaozhen/QXmpp" type="set" from="fish@xiaozhen/QXmpp"><jingle xmlns="urn:xmpp:jingle:1" action="session-info" sid="wXyN88jvZv0XXfounrVDFwrxfTyAL0sJ"><ringing xmlns="urn:xmpp:jingle:apps:rtp:info:1"/></jingle></iq>
周六 四月 26 13:20:45 2014 RECEIVED STUN packet from 192.168.16.102 port 49154
 type Binding Request (1)
 id 08e3c994c2ef8c02015661a9
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270975
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:45 2014 SENT Sent to 192.168.16.102 port 49154 (local 192.168.16.102 port 49152)
 type Binding Response (257)
 id 08e3c994c2ef8c02015661a9
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.16.102 49154
周六 四月 26 13:20:45 2014 DEBUG ICE reverse check complete 192.168.16.102 port 49154 (local 192.168.16.102 port 49152)
周六 四月 26 13:20:45 2014 RECEIVED STUN packet from 192.168.16.102 port 61668
 type Binding Request (1)
 id b44fdd6d8dc1c45eadcbaae4
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270975
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:45 2014 SENT Sent to 192.168.16.102 port 61668 (local 192.168.16.102 port 49152)
 type Binding Response (257)
 id b44fdd6d8dc1c45eadcbaae4
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.16.102 61668
周六 四月 26 13:20:45 2014 DEBUG ICE reverse check complete 192.168.16.102 port 61668 (local 192.168.16.102 port 49152)
周六 四月 26 13:20:45 2014 RECEIVED STUN packet from 192.168.16.102 port 49154
 type Binding Request (1)
 id a89fa14d79115f6092080f8e
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270975
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:45 2014 SENT Sent to 192.168.16.102 port 49154 (local 192.168.18.1 port 49152)
 type Binding Response (257)
 id a89fa14d79115f6092080f8e
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.16.102 49154
周六 四月 26 13:20:45 2014 DEBUG ICE reverse check complete 192.168.16.102 port 49154 (local 192.168.18.1 port 49152)
周六 四月 26 13:20:45 2014 RECEIVED STUN packet from 192.168.18.1 port 49154
 type Binding Request (1)
 id 5e84576bf5418fc6ff887708
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270975
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:45 2014 SENT Sent to 192.168.18.1 port 49154 (local 192.168.18.1 port 49152)
 type Binding Response (257)
 id 5e84576bf5418fc6ff887708
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.18.1 49154
周六 四月 26 13:20:45 2014 DEBUG ICE reverse check complete 192.168.18.1 port 49154 (local 192.168.18.1 port 49152)
周六 四月 26 13:20:45 2014 RECEIVED STUN packet from 192.168.200.2 port 49154
 type Binding Request (1)
 id a4256f4e7d1c7dd25511271d
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270975
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:45 2014 SENT Sent to 192.168.200.2 port 49154 (local 192.168.18.1 port 49152)
 type Binding Response (257)
 id a4256f4e7d1c7dd25511271d
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.200.2 49154
周六 四月 26 13:20:45 2014 DEBUG ICE reverse check complete 192.168.200.2 port 49154 (local 192.168.18.1 port 49152)
周六 四月 26 13:20:45 2014 RECEIVED STUN packet from 192.168.200.2 port 49154
 type Binding Request (1)
 id 90da7fed61c5e7675541ab75
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270975
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:45 2014 SENT Sent to 192.168.200.2 port 49154 (local 192.168.200.2 port 49152)
 type Binding Response (257)
 id 90da7fed61c5e7675541ab75
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.200.2 49154
周六 四月 26 13:20:45 2014 DEBUG ICE reverse check complete 192.168.200.2 port 49154 (local 192.168.200.2 port 49152)
周六 四月 26 13:20:45 2014 RECEIVED STUN packet from 192.168.16.102 port 49155
 type Binding Request (1)
 id dd5c290b6b179b2d7240ce60
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270974
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:45 2014 SENT Sent to 192.168.16.102 port 49155 (local 192.168.16.102 port 49153)
 type Binding Response (257)
 id dd5c290b6b179b2d7240ce60
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.16.102 49155
周六 四月 26 13:20:45 2014 DEBUG ICE reverse check complete 192.168.16.102 port 49155 (local 192.168.16.102 port 49153)
周六 四月 26 13:20:45 2014 RECEIVED STUN packet from 192.168.16.102 port 61669
 type Binding Request (1)
 id a85d25864f7639898edcc091
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270974
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:45 2014 SENT Sent to 192.168.16.102 port 61669 (local 192.168.16.102 port 49153)
 type Binding Response (257)
 id a85d25864f7639898edcc091
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.16.102 61669
周六 四月 26 13:20:45 2014 DEBUG ICE reverse check complete 192.168.16.102 port 61669 (local 192.168.16.102 port 49153)
周六 四月 26 13:20:45 2014 RECEIVED STUN packet from 192.168.16.102 port 49155
 type Binding Request (1)
 id 74d008e9e9d09f743d5b09f8
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270974
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:45 2014 SENT Sent to 192.168.16.102 port 49155 (local 192.168.18.1 port 49153)
 type Binding Response (257)
 id 74d008e9e9d09f743d5b09f8
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.16.102 49155
周六 四月 26 13:20:45 2014 DEBUG ICE reverse check complete 192.168.16.102 port 49155 (local 192.168.18.1 port 49153)
周六 四月 26 13:20:45 2014 RECEIVED STUN packet from 192.168.18.1 port 49155
 type Binding Request (1)
 id 85add5bcb6e31e664facbe3c
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270974
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:45 2014 SENT Sent to 192.168.18.1 port 49155 (local 192.168.18.1 port 49153)
 type Binding Response (257)
 id 85add5bcb6e31e664facbe3c
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.18.1 49155
周六 四月 26 13:20:45 2014 DEBUG ICE reverse check complete 192.168.18.1 port 49155 (local 192.168.18.1 port 49153)
周六 四月 26 13:20:45 2014 RECEIVED STUN packet from 192.168.200.2 port 49155
 type Binding Request (1)
 id ae48a2a6d2f81e9f75bcaace
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270974
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:45 2014 SENT Sent to 192.168.200.2 port 49155 (local 192.168.18.1 port 49153)
 type Binding Response (257)
 id ae48a2a6d2f81e9f75bcaace
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.200.2 49155
周六 四月 26 13:20:45 2014 DEBUG ICE reverse check complete 192.168.200.2 port 49155 (local 192.168.18.1 port 49153)
周六 四月 26 13:20:45 2014 RECEIVED STUN packet from 192.168.200.2 port 49155
 type Binding Request (1)
 id af5a3b5609acb3fd1cfb91fa
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270974
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:45 2014 SENT Sent to 192.168.200.2 port 49155 (local 192.168.200.2 port 49153)
 type Binding Response (257)
 id af5a3b5609acb3fd1cfb91fa
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.200.2 49155
周六 四月 26 13:20:45 2014 DEBUG ICE reverse check complete 192.168.200.2 port 49155 (local 192.168.200.2 port 49153)
周六 四月 26 13:20:45 2014 RECEIVED STUN packet from 192.168.16.102 port 49154
 type Binding Request (1)
 id 08e3c994c2ef8c02015661a9
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270975
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:45 2014 SENT Sent to 192.168.16.102 port 49154 (local 192.168.16.102 port 49152)
 type Binding Response (257)
 id 08e3c994c2ef8c02015661a9
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.16.102 49154
周六 四月 26 13:20:45 2014 DEBUG ICE reverse check complete 192.168.16.102 port 49154 (local 192.168.16.102 port 49152)
周六 四月 26 13:20:45 2014 RECEIVED STUN packet from 192.168.16.102 port 61668
 type Binding Request (1)
 id b44fdd6d8dc1c45eadcbaae4
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270975
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:45 2014 SENT Sent to 192.168.16.102 port 61668 (local 192.168.16.102 port 49152)
 type Binding Response (257)
 id b44fdd6d8dc1c45eadcbaae4
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.16.102 61668
周六 四月 26 13:20:45 2014 DEBUG ICE reverse check complete 192.168.16.102 port 61668 (local 192.168.16.102 port 49152)
周六 四月 26 13:20:45 2014 RECEIVED STUN packet from 192.168.16.102 port 49154
 type Binding Request (1)
 id a89fa14d79115f6092080f8e
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270975
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:45 2014 SENT Sent to 192.168.16.102 port 49154 (local 192.168.18.1 port 49152)
 type Binding Response (257)
 id a89fa14d79115f6092080f8e
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.16.102 49154
周六 四月 26 13:20:45 2014 DEBUG ICE reverse check complete 192.168.16.102 port 49154 (local 192.168.18.1 port 49152)
周六 四月 26 13:20:45 2014 RECEIVED STUN packet from 192.168.18.1 port 49154
 type Binding Request (1)
 id 5e84576bf5418fc6ff887708
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270975
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:45 2014 SENT Sent to 192.168.18.1 port 49154 (local 192.168.18.1 port 49152)
 type Binding Response (257)
 id 5e84576bf5418fc6ff887708
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.18.1 49154
周六 四月 26 13:20:45 2014 DEBUG ICE reverse check complete 192.168.18.1 port 49154 (local 192.168.18.1 port 49152)
周六 四月 26 13:20:45 2014 RECEIVED STUN packet from 192.168.200.2 port 49154
 type Binding Request (1)
 id a4256f4e7d1c7dd25511271d
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270975
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:45 2014 SENT Sent to 192.168.200.2 port 49154 (local 192.168.18.1 port 49152)
 type Binding Response (257)
 id a4256f4e7d1c7dd25511271d
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.200.2 49154
周六 四月 26 13:20:45 2014 DEBUG ICE reverse check complete 192.168.200.2 port 49154 (local 192.168.18.1 port 49152)
周六 四月 26 13:20:45 2014 RECEIVED STUN packet from 192.168.200.2 port 49154
 type Binding Request (1)
 id 90da7fed61c5e7675541ab75
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270975
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:45 2014 SENT Sent to 192.168.200.2 port 49154 (local 192.168.200.2 port 49152)
 type Binding Response (257)
 id 90da7fed61c5e7675541ab75
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.200.2 49154
周六 四月 26 13:20:45 2014 DEBUG ICE reverse check complete 192.168.200.2 port 49154 (local 192.168.200.2 port 49152)
周六 四月 26 13:20:45 2014 RECEIVED STUN packet from 192.168.16.102 port 49155
 type Binding Request (1)
 id dd5c290b6b179b2d7240ce60
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270974
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:45 2014 SENT Sent to 192.168.16.102 port 49155 (local 192.168.16.102 port 49153)
 type Binding Response (257)
 id dd5c290b6b179b2d7240ce60
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.16.102 49155
周六 四月 26 13:20:45 2014 DEBUG ICE reverse check complete 192.168.16.102 port 49155 (local 192.168.16.102 port 49153)
周六 四月 26 13:20:45 2014 RECEIVED STUN packet from 192.168.16.102 port 61669
 type Binding Request (1)
 id a85d25864f7639898edcc091
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270974
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:45 2014 SENT Sent to 192.168.16.102 port 61669 (local 192.168.16.102 port 49153)
 type Binding Response (257)
 id a85d25864f7639898edcc091
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.16.102 61669
周六 四月 26 13:20:45 2014 DEBUG ICE reverse check complete 192.168.16.102 port 61669 (local 192.168.16.102 port 49153)
周六 四月 26 13:20:45 2014 RECEIVED STUN packet from 192.168.16.102 port 49155
 type Binding Request (1)
 id 74d008e9e9d09f743d5b09f8
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270974
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:45 2014 SENT Sent to 192.168.16.102 port 49155 (local 192.168.18.1 port 49153)
 type Binding Response (257)
 id 74d008e9e9d09f743d5b09f8
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.16.102 49155
周六 四月 26 13:20:45 2014 DEBUG ICE reverse check complete 192.168.16.102 port 49155 (local 192.168.18.1 port 49153)
周六 四月 26 13:20:45 2014 RECEIVED STUN packet from 192.168.18.1 port 49155
 type Binding Request (1)
 id 85add5bcb6e31e664facbe3c
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270974
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:45 2014 SENT Sent to 192.168.18.1 port 49155 (local 192.168.18.1 port 49153)
 type Binding Response (257)
 id 85add5bcb6e31e664facbe3c
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.18.1 49155
周六 四月 26 13:20:45 2014 DEBUG ICE reverse check complete 192.168.18.1 port 49155 (local 192.168.18.1 port 49153)
周六 四月 26 13:20:45 2014 RECEIVED STUN packet from 192.168.200.2 port 49155
 type Binding Request (1)
 id ae48a2a6d2f81e9f75bcaace
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270974
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:45 2014 SENT Sent to 192.168.200.2 port 49155 (local 192.168.18.1 port 49153)
 type Binding Response (257)
 id ae48a2a6d2f81e9f75bcaace
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.200.2 49155
周六 四月 26 13:20:45 2014 DEBUG ICE reverse check complete 192.168.200.2 port 49155 (local 192.168.18.1 port 49153)
周六 四月 26 13:20:45 2014 RECEIVED STUN packet from 192.168.200.2 port 49155
 type Binding Request (1)
 id af5a3b5609acb3fd1cfb91fa
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270974
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:45 2014 SENT Sent to 192.168.200.2 port 49155 (local 192.168.200.2 port 49153)
 type Binding Response (257)
 id af5a3b5609acb3fd1cfb91fa
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.200.2 49155
周六 四月 26 13:20:45 2014 DEBUG ICE reverse check complete 192.168.200.2 port 49155 (local 192.168.200.2 port 49153)
周六 四月 26 13:20:46 2014 RECEIVED STUN packet from 192.168.16.102 port 49154
 type Binding Request (1)
 id 08e3c994c2ef8c02015661a9
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270975
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:46 2014 SENT Sent to 192.168.16.102 port 49154 (local 192.168.16.102 port 49152)
 type Binding Response (257)
 id 08e3c994c2ef8c02015661a9
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.16.102 49154
周六 四月 26 13:20:46 2014 DEBUG ICE reverse check complete 192.168.16.102 port 49154 (local 192.168.16.102 port 49152)
周六 四月 26 13:20:46 2014 RECEIVED STUN packet from 192.168.16.102 port 61668
 type Binding Request (1)
 id b44fdd6d8dc1c45eadcbaae4
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270975
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:46 2014 SENT Sent to 192.168.16.102 port 61668 (local 192.168.16.102 port 49152)
 type Binding Response (257)
 id b44fdd6d8dc1c45eadcbaae4
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.16.102 61668
周六 四月 26 13:20:46 2014 DEBUG ICE reverse check complete 192.168.16.102 port 61668 (local 192.168.16.102 port 49152)
周六 四月 26 13:20:46 2014 RECEIVED STUN packet from 192.168.16.102 port 49154
 type Binding Request (1)
 id a89fa14d79115f6092080f8e
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270975
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:46 2014 SENT Sent to 192.168.16.102 port 49154 (local 192.168.18.1 port 49152)
 type Binding Response (257)
 id a89fa14d79115f6092080f8e
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.16.102 49154
周六 四月 26 13:20:46 2014 DEBUG ICE reverse check complete 192.168.16.102 port 49154 (local 192.168.18.1 port 49152)
周六 四月 26 13:20:46 2014 RECEIVED STUN packet from 192.168.18.1 port 49154
 type Binding Request (1)
 id 5e84576bf5418fc6ff887708
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270975
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:46 2014 SENT Sent to 192.168.18.1 port 49154 (local 192.168.18.1 port 49152)
 type Binding Response (257)
 id 5e84576bf5418fc6ff887708
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.18.1 49154
周六 四月 26 13:20:46 2014 DEBUG ICE reverse check complete 192.168.18.1 port 49154 (local 192.168.18.1 port 49152)
周六 四月 26 13:20:46 2014 RECEIVED STUN packet from 192.168.200.2 port 49154
 type Binding Request (1)
 id a4256f4e7d1c7dd25511271d
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270975
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:46 2014 SENT Sent to 192.168.200.2 port 49154 (local 192.168.18.1 port 49152)
 type Binding Response (257)
 id a4256f4e7d1c7dd25511271d
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.200.2 49154
周六 四月 26 13:20:46 2014 DEBUG ICE reverse check complete 192.168.200.2 port 49154 (local 192.168.18.1 port 49152)
周六 四月 26 13:20:46 2014 RECEIVED STUN packet from 192.168.200.2 port 49154
 type Binding Request (1)
 id 90da7fed61c5e7675541ab75
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270975
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:46 2014 SENT Sent to 192.168.200.2 port 49154 (local 192.168.200.2 port 49152)
 type Binding Response (257)
 id 90da7fed61c5e7675541ab75
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.200.2 49154
周六 四月 26 13:20:46 2014 DEBUG ICE reverse check complete 192.168.200.2 port 49154 (local 192.168.200.2 port 49152)
周六 四月 26 13:20:46 2014 RECEIVED STUN packet from 192.168.16.102 port 49155
 type Binding Request (1)
 id dd5c290b6b179b2d7240ce60
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270974
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:46 2014 SENT Sent to 192.168.16.102 port 49155 (local 192.168.16.102 port 49153)
 type Binding Response (257)
 id dd5c290b6b179b2d7240ce60
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.16.102 49155
周六 四月 26 13:20:46 2014 DEBUG ICE reverse check complete 192.168.16.102 port 49155 (local 192.168.16.102 port 49153)
周六 四月 26 13:20:46 2014 RECEIVED STUN packet from 192.168.16.102 port 61669
 type Binding Request (1)
 id a85d25864f7639898edcc091
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270974
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:46 2014 SENT Sent to 192.168.16.102 port 61669 (local 192.168.16.102 port 49153)
 type Binding Response (257)
 id a85d25864f7639898edcc091
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.16.102 61669
周六 四月 26 13:20:46 2014 DEBUG ICE reverse check complete 192.168.16.102 port 61669 (local 192.168.16.102 port 49153)
周六 四月 26 13:20:46 2014 RECEIVED STUN packet from 192.168.16.102 port 49155
 type Binding Request (1)
 id 74d008e9e9d09f743d5b09f8
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270974
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:46 2014 SENT Sent to 192.168.16.102 port 49155 (local 192.168.18.1 port 49153)
 type Binding Response (257)
 id 74d008e9e9d09f743d5b09f8
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.16.102 49155
周六 四月 26 13:20:46 2014 DEBUG ICE reverse check complete 192.168.16.102 port 49155 (local 192.168.18.1 port 49153)
周六 四月 26 13:20:46 2014 RECEIVED STUN packet from 192.168.18.1 port 49155
 type Binding Request (1)
 id 85add5bcb6e31e664facbe3c
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270974
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:46 2014 SENT Sent to 192.168.18.1 port 49155 (local 192.168.18.1 port 49153)
 type Binding Response (257)
 id 85add5bcb6e31e664facbe3c
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.18.1 49155
周六 四月 26 13:20:46 2014 DEBUG ICE reverse check complete 192.168.18.1 port 49155 (local 192.168.18.1 port 49153)
周六 四月 26 13:20:46 2014 RECEIVED STUN packet from 192.168.200.2 port 49155
 type Binding Request (1)
 id ae48a2a6d2f81e9f75bcaace
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270974
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:46 2014 SENT Sent to 192.168.200.2 port 49155 (local 192.168.18.1 port 49153)
 type Binding Response (257)
 id ae48a2a6d2f81e9f75bcaace
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.200.2 49155
周六 四月 26 13:20:46 2014 DEBUG ICE reverse check complete 192.168.200.2 port 49155 (local 192.168.18.1 port 49153)
周六 四月 26 13:20:46 2014 RECEIVED STUN packet from 192.168.200.2 port 49155
 type Binding Request (1)
 id af5a3b5609acb3fd1cfb91fa
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270974
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:46 2014 SENT Sent to 192.168.200.2 port 49155 (local 192.168.200.2 port 49153)
 type Binding Response (257)
 id af5a3b5609acb3fd1cfb91fa
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.200.2 49155
周六 四月 26 13:20:46 2014 DEBUG ICE reverse check complete 192.168.200.2 port 49155 (local 192.168.200.2 port 49153)
周六 四月 26 13:20:46 2014 RECEIVED STUN packet from 192.168.16.102 port 49154
 type Binding Request (1)
 id 08e3c994c2ef8c02015661a9
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270975
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:46 2014 SENT Sent to 192.168.16.102 port 49154 (local 192.168.16.102 port 49152)
 type Binding Response (257)
 id 08e3c994c2ef8c02015661a9
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.16.102 49154
周六 四月 26 13:20:46 2014 DEBUG ICE reverse check complete 192.168.16.102 port 49154 (local 192.168.16.102 port 49152)
周六 四月 26 13:20:46 2014 RECEIVED STUN packet from 192.168.16.102 port 61668
 type Binding Request (1)
 id b44fdd6d8dc1c45eadcbaae4
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270975
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:46 2014 SENT Sent to 192.168.16.102 port 61668 (local 192.168.16.102 port 49152)
 type Binding Response (257)
 id b44fdd6d8dc1c45eadcbaae4
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.16.102 61668
周六 四月 26 13:20:46 2014 DEBUG ICE reverse check complete 192.168.16.102 port 61668 (local 192.168.16.102 port 49152)
周六 四月 26 13:20:46 2014 RECEIVED STUN packet from 192.168.16.102 port 49154
 type Binding Request (1)
 id a89fa14d79115f6092080f8e
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270975
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:46 2014 SENT Sent to 192.168.16.102 port 49154 (local 192.168.18.1 port 49152)
 type Binding Response (257)
 id a89fa14d79115f6092080f8e
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.16.102 49154
周六 四月 26 13:20:46 2014 DEBUG ICE reverse check complete 192.168.16.102 port 49154 (local 192.168.18.1 port 49152)
周六 四月 26 13:20:46 2014 RECEIVED STUN packet from 192.168.18.1 port 49154
 type Binding Request (1)
 id 5e84576bf5418fc6ff887708
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270975
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:46 2014 SENT Sent to 192.168.18.1 port 49154 (local 192.168.18.1 port 49152)
 type Binding Response (257)
 id 5e84576bf5418fc6ff887708
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.18.1 49154
周六 四月 26 13:20:46 2014 DEBUG ICE reverse check complete 192.168.18.1 port 49154 (local 192.168.18.1 port 49152)
周六 四月 26 13:20:46 2014 RECEIVED STUN packet from 192.168.200.2 port 49154
 type Binding Request (1)
 id a4256f4e7d1c7dd25511271d
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270975
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:46 2014 SENT Sent to 192.168.200.2 port 49154 (local 192.168.18.1 port 49152)
 type Binding Response (257)
 id a4256f4e7d1c7dd25511271d
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.200.2 49154
周六 四月 26 13:20:46 2014 DEBUG ICE reverse check complete 192.168.200.2 port 49154 (local 192.168.18.1 port 49152)
周六 四月 26 13:20:46 2014 RECEIVED STUN packet from 192.168.200.2 port 49154
 type Binding Request (1)
 id 90da7fed61c5e7675541ab75
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270975
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:46 2014 SENT Sent to 192.168.200.2 port 49154 (local 192.168.200.2 port 49152)
 type Binding Response (257)
 id 90da7fed61c5e7675541ab75
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.200.2 49154
周六 四月 26 13:20:46 2014 DEBUG ICE reverse check complete 192.168.200.2 port 49154 (local 192.168.200.2 port 49152)
周六 四月 26 13:20:46 2014 RECEIVED STUN packet from 192.168.16.102 port 49155
 type Binding Request (1)
 id dd5c290b6b179b2d7240ce60
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270974
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:46 2014 SENT Sent to 192.168.16.102 port 49155 (local 192.168.16.102 port 49153)
 type Binding Response (257)
 id dd5c290b6b179b2d7240ce60
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.16.102 49155
周六 四月 26 13:20:46 2014 DEBUG ICE reverse check complete 192.168.16.102 port 49155 (local 192.168.16.102 port 49153)
周六 四月 26 13:20:46 2014 RECEIVED STUN packet from 192.168.16.102 port 61669
 type Binding Request (1)
 id a85d25864f7639898edcc091
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270974
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:46 2014 SENT Sent to 192.168.16.102 port 61669 (local 192.168.16.102 port 49153)
 type Binding Response (257)
 id a85d25864f7639898edcc091
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.16.102 61669
周六 四月 26 13:20:46 2014 DEBUG ICE reverse check complete 192.168.16.102 port 61669 (local 192.168.16.102 port 49153)
周六 四月 26 13:20:46 2014 RECEIVED STUN packet from 192.168.16.102 port 49155
 type Binding Request (1)
 id 74d008e9e9d09f743d5b09f8
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270974
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:46 2014 SENT Sent to 192.168.16.102 port 49155 (local 192.168.18.1 port 49153)
 type Binding Response (257)
 id 74d008e9e9d09f743d5b09f8
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.16.102 49155
周六 四月 26 13:20:46 2014 DEBUG ICE reverse check complete 192.168.16.102 port 49155 (local 192.168.18.1 port 49153)
周六 四月 26 13:20:46 2014 RECEIVED STUN packet from 192.168.18.1 port 49155
 type Binding Request (1)
 id 85add5bcb6e31e664facbe3c
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270974
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:46 2014 SENT Sent to 192.168.18.1 port 49155 (local 192.168.18.1 port 49153)
 type Binding Response (257)
 id 85add5bcb6e31e664facbe3c
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.18.1 49155
周六 四月 26 13:20:46 2014 DEBUG ICE reverse check complete 192.168.18.1 port 49155 (local 192.168.18.1 port 49153)
周六 四月 26 13:20:46 2014 RECEIVED STUN packet from 192.168.200.2 port 49155
 type Binding Request (1)
 id ae48a2a6d2f81e9f75bcaace
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270974
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:46 2014 SENT Sent to 192.168.200.2 port 49155 (local 192.168.18.1 port 49153)
 type Binding Response (257)
 id ae48a2a6d2f81e9f75bcaace
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.200.2 49155
周六 四月 26 13:20:46 2014 DEBUG ICE reverse check complete 192.168.200.2 port 49155 (local 192.168.18.1 port 49153)
周六 四月 26 13:20:46 2014 RECEIVED STUN packet from 192.168.200.2 port 49155
 type Binding Request (1)
 id af5a3b5609acb3fd1cfb91fa
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270974
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:46 2014 SENT Sent to 192.168.200.2 port 49155 (local 192.168.200.2 port 49153)
 type Binding Response (257)
 id af5a3b5609acb3fd1cfb91fa
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.200.2 49155
周六 四月 26 13:20:46 2014 DEBUG ICE reverse check complete 192.168.200.2 port 49155 (local 192.168.200.2 port 49153)
周六 四月 26 13:20:47 2014 RECEIVED STUN packet from 192.168.16.102 port 49154
 type Binding Request (1)
 id 08e3c994c2ef8c02015661a9
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270975
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:47 2014 SENT Sent to 192.168.16.102 port 49154 (local 192.168.16.102 port 49152)
 type Binding Response (257)
 id 08e3c994c2ef8c02015661a9
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.16.102 49154
周六 四月 26 13:20:47 2014 DEBUG ICE reverse check complete 192.168.16.102 port 49154 (local 192.168.16.102 port 49152)
周六 四月 26 13:20:47 2014 RECEIVED STUN packet from 192.168.16.102 port 61668
 type Binding Request (1)
 id b44fdd6d8dc1c45eadcbaae4
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270975
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:47 2014 SENT Sent to 192.168.16.102 port 61668 (local 192.168.16.102 port 49152)
 type Binding Response (257)
 id b44fdd6d8dc1c45eadcbaae4
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.16.102 61668
周六 四月 26 13:20:47 2014 DEBUG ICE reverse check complete 192.168.16.102 port 61668 (local 192.168.16.102 port 49152)
周六 四月 26 13:20:47 2014 RECEIVED STUN packet from 192.168.16.102 port 49154
 type Binding Request (1)
 id a89fa14d79115f6092080f8e
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270975
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:47 2014 SENT Sent to 192.168.16.102 port 49154 (local 192.168.18.1 port 49152)
 type Binding Response (257)
 id a89fa14d79115f6092080f8e
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.16.102 49154
周六 四月 26 13:20:47 2014 DEBUG ICE reverse check complete 192.168.16.102 port 49154 (local 192.168.18.1 port 49152)
周六 四月 26 13:20:47 2014 RECEIVED STUN packet from 192.168.18.1 port 49154
 type Binding Request (1)
 id 5e84576bf5418fc6ff887708
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270975
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:47 2014 SENT Sent to 192.168.18.1 port 49154 (local 192.168.18.1 port 49152)
 type Binding Response (257)
 id 5e84576bf5418fc6ff887708
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.18.1 49154
周六 四月 26 13:20:47 2014 DEBUG ICE reverse check complete 192.168.18.1 port 49154 (local 192.168.18.1 port 49152)
周六 四月 26 13:20:47 2014 RECEIVED STUN packet from 192.168.200.2 port 49154
 type Binding Request (1)
 id a4256f4e7d1c7dd25511271d
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270975
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:47 2014 SENT Sent to 192.168.200.2 port 49154 (local 192.168.18.1 port 49152)
 type Binding Response (257)
 id a4256f4e7d1c7dd25511271d
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.200.2 49154
周六 四月 26 13:20:47 2014 DEBUG ICE reverse check complete 192.168.200.2 port 49154 (local 192.168.18.1 port 49152)
周六 四月 26 13:20:47 2014 RECEIVED STUN packet from 192.168.200.2 port 49154
 type Binding Request (1)
 id 90da7fed61c5e7675541ab75
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270975
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:47 2014 SENT Sent to 192.168.200.2 port 49154 (local 192.168.200.2 port 49152)
 type Binding Response (257)
 id 90da7fed61c5e7675541ab75
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.200.2 49154
周六 四月 26 13:20:47 2014 DEBUG ICE reverse check complete 192.168.200.2 port 49154 (local 192.168.200.2 port 49152)
周六 四月 26 13:20:47 2014 RECEIVED STUN packet from 192.168.16.102 port 49155
 type Binding Request (1)
 id dd5c290b6b179b2d7240ce60
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270974
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:47 2014 SENT Sent to 192.168.16.102 port 49155 (local 192.168.16.102 port 49153)
 type Binding Response (257)
 id dd5c290b6b179b2d7240ce60
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.16.102 49155
周六 四月 26 13:20:47 2014 DEBUG ICE reverse check complete 192.168.16.102 port 49155 (local 192.168.16.102 port 49153)
周六 四月 26 13:20:47 2014 RECEIVED STUN packet from 192.168.16.102 port 61669
 type Binding Request (1)
 id a85d25864f7639898edcc091
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270974
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:47 2014 SENT Sent to 192.168.16.102 port 61669 (local 192.168.16.102 port 49153)
 type Binding Response (257)
 id a85d25864f7639898edcc091
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.16.102 61669
周六 四月 26 13:20:47 2014 DEBUG ICE reverse check complete 192.168.16.102 port 61669 (local 192.168.16.102 port 49153)
周六 四月 26 13:20:47 2014 RECEIVED STUN packet from 192.168.16.102 port 49155
 type Binding Request (1)
 id 74d008e9e9d09f743d5b09f8
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270974
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:47 2014 SENT Sent to 192.168.16.102 port 49155 (local 192.168.18.1 port 49153)
 type Binding Response (257)
 id 74d008e9e9d09f743d5b09f8
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.16.102 49155
周六 四月 26 13:20:47 2014 DEBUG ICE reverse check complete 192.168.16.102 port 49155 (local 192.168.18.1 port 49153)
周六 四月 26 13:20:47 2014 RECEIVED STUN packet from 192.168.18.1 port 49155
 type Binding Request (1)
 id 85add5bcb6e31e664facbe3c
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270974
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:47 2014 SENT Sent to 192.168.18.1 port 49155 (local 192.168.18.1 port 49153)
 type Binding Response (257)
 id 85add5bcb6e31e664facbe3c
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.18.1 49155
周六 四月 26 13:20:47 2014 DEBUG ICE reverse check complete 192.168.18.1 port 49155 (local 192.168.18.1 port 49153)
周六 四月 26 13:20:47 2014 RECEIVED STUN packet from 192.168.200.2 port 49155
 type Binding Request (1)
 id ae48a2a6d2f81e9f75bcaace
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270974
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:47 2014 SENT Sent to 192.168.200.2 port 49155 (local 192.168.18.1 port 49153)
 type Binding Response (257)
 id ae48a2a6d2f81e9f75bcaace
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.200.2 49155
周六 四月 26 13:20:47 2014 DEBUG ICE reverse check complete 192.168.200.2 port 49155 (local 192.168.18.1 port 49153)
周六 四月 26 13:20:47 2014 RECEIVED STUN packet from 192.168.200.2 port 49155
 type Binding Request (1)
 id af5a3b5609acb3fd1cfb91fa
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270974
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:47 2014 SENT Sent to 192.168.200.2 port 49155 (local 192.168.200.2 port 49153)
 type Binding Response (257)
 id af5a3b5609acb3fd1cfb91fa
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.200.2 49155
周六 四月 26 13:20:47 2014 DEBUG ICE reverse check complete 192.168.200.2 port 49155 (local 192.168.200.2 port 49153)
周六 四月 26 13:20:47 2014 RECEIVED STUN packet from 192.168.16.102 port 49154
 type Binding Request (1)
 id 08e3c994c2ef8c02015661a9
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270975
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:47 2014 SENT Sent to 192.168.16.102 port 49154 (local 192.168.16.102 port 49152)
 type Binding Response (257)
 id 08e3c994c2ef8c02015661a9
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.16.102 49154
周六 四月 26 13:20:47 2014 DEBUG ICE reverse check complete 192.168.16.102 port 49154 (local 192.168.16.102 port 49152)
周六 四月 26 13:20:47 2014 RECEIVED STUN packet from 192.168.16.102 port 61668
 type Binding Request (1)
 id b44fdd6d8dc1c45eadcbaae4
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270975
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:47 2014 SENT Sent to 192.168.16.102 port 61668 (local 192.168.16.102 port 49152)
 type Binding Response (257)
 id b44fdd6d8dc1c45eadcbaae4
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.16.102 61668
周六 四月 26 13:20:47 2014 DEBUG ICE reverse check complete 192.168.16.102 port 61668 (local 192.168.16.102 port 49152)
周六 四月 26 13:20:47 2014 RECEIVED STUN packet from 192.168.16.102 port 49154
 type Binding Request (1)
 id a89fa14d79115f6092080f8e
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270975
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:47 2014 SENT Sent to 192.168.16.102 port 49154 (local 192.168.18.1 port 49152)
 type Binding Response (257)
 id a89fa14d79115f6092080f8e
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.16.102 49154
周六 四月 26 13:20:47 2014 DEBUG ICE reverse check complete 192.168.16.102 port 49154 (local 192.168.18.1 port 49152)
周六 四月 26 13:20:47 2014 RECEIVED STUN packet from 192.168.18.1 port 49154
 type Binding Request (1)
 id 5e84576bf5418fc6ff887708
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270975
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:47 2014 SENT Sent to 192.168.18.1 port 49154 (local 192.168.18.1 port 49152)
 type Binding Response (257)
 id 5e84576bf5418fc6ff887708
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.18.1 49154
周六 四月 26 13:20:47 2014 DEBUG ICE reverse check complete 192.168.18.1 port 49154 (local 192.168.18.1 port 49152)
周六 四月 26 13:20:47 2014 RECEIVED STUN packet from 192.168.200.2 port 49154
 type Binding Request (1)
 id a4256f4e7d1c7dd25511271d
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270975
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:47 2014 SENT Sent to 192.168.200.2 port 49154 (local 192.168.18.1 port 49152)
 type Binding Response (257)
 id a4256f4e7d1c7dd25511271d
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.200.2 49154
周六 四月 26 13:20:47 2014 DEBUG ICE reverse check complete 192.168.200.2 port 49154 (local 192.168.18.1 port 49152)
周六 四月 26 13:20:47 2014 RECEIVED STUN packet from 192.168.200.2 port 49154
 type Binding Request (1)
 id 90da7fed61c5e7675541ab75
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270975
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:47 2014 SENT Sent to 192.168.200.2 port 49154 (local 192.168.200.2 port 49152)
 type Binding Response (257)
 id 90da7fed61c5e7675541ab75
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.200.2 49154
周六 四月 26 13:20:47 2014 DEBUG ICE reverse check complete 192.168.200.2 port 49154 (local 192.168.200.2 port 49152)
周六 四月 26 13:20:47 2014 RECEIVED STUN packet from 192.168.16.102 port 49155
 type Binding Request (1)
 id dd5c290b6b179b2d7240ce60
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270974
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:47 2014 SENT Sent to 192.168.16.102 port 49155 (local 192.168.16.102 port 49153)
 type Binding Response (257)
 id dd5c290b6b179b2d7240ce60
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.16.102 49155
周六 四月 26 13:20:47 2014 DEBUG ICE reverse check complete 192.168.16.102 port 49155 (local 192.168.16.102 port 49153)
周六 四月 26 13:20:47 2014 RECEIVED STUN packet from 192.168.16.102 port 61669
 type Binding Request (1)
 id a85d25864f7639898edcc091
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270974
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:47 2014 SENT Sent to 192.168.16.102 port 61669 (local 192.168.16.102 port 49153)
 type Binding Response (257)
 id a85d25864f7639898edcc091
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.16.102 61669
周六 四月 26 13:20:47 2014 DEBUG ICE reverse check complete 192.168.16.102 port 61669 (local 192.168.16.102 port 49153)
周六 四月 26 13:20:47 2014 RECEIVED STUN packet from 192.168.16.102 port 49155
 type Binding Request (1)
 id 74d008e9e9d09f743d5b09f8
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270974
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:47 2014 SENT Sent to 192.168.16.102 port 49155 (local 192.168.18.1 port 49153)
 type Binding Response (257)
 id 74d008e9e9d09f743d5b09f8
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.16.102 49155
周六 四月 26 13:20:47 2014 DEBUG ICE reverse check complete 192.168.16.102 port 49155 (local 192.168.18.1 port 49153)
周六 四月 26 13:20:47 2014 RECEIVED STUN packet from 192.168.18.1 port 49155
 type Binding Request (1)
 id 85add5bcb6e31e664facbe3c
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270974
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:47 2014 SENT Sent to 192.168.18.1 port 49155 (local 192.168.18.1 port 49153)
 type Binding Response (257)
 id 85add5bcb6e31e664facbe3c
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.18.1 49155
周六 四月 26 13:20:47 2014 DEBUG ICE reverse check complete 192.168.18.1 port 49155 (local 192.168.18.1 port 49153)
周六 四月 26 13:20:47 2014 RECEIVED STUN packet from 192.168.200.2 port 49155
 type Binding Request (1)
 id ae48a2a6d2f81e9f75bcaace
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270974
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:47 2014 SENT Sent to 192.168.200.2 port 49155 (local 192.168.18.1 port 49153)
 type Binding Response (257)
 id ae48a2a6d2f81e9f75bcaace
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.200.2 49155
周六 四月 26 13:20:47 2014 DEBUG ICE reverse check complete 192.168.200.2 port 49155 (local 192.168.18.1 port 49153)
周六 四月 26 13:20:47 2014 RECEIVED STUN packet from 192.168.200.2 port 49155
 type Binding Request (1)
 id af5a3b5609acb3fd1cfb91fa
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270974
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:47 2014 SENT Sent to 192.168.200.2 port 49155 (local 192.168.200.2 port 49153)
 type Binding Response (257)
 id af5a3b5609acb3fd1cfb91fa
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.200.2 49155
周六 四月 26 13:20:47 2014 DEBUG ICE reverse check complete 192.168.200.2 port 49155 (local 192.168.200.2 port 49153)
周六 四月 26 13:20:48 2014 RECEIVED STUN packet from 192.168.16.102 port 49154
 type Binding Request (1)
 id 08e3c994c2ef8c02015661a9
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270975
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:48 2014 SENT Sent to 192.168.16.102 port 49154 (local 192.168.16.102 port 49152)
 type Binding Response (257)
 id 08e3c994c2ef8c02015661a9
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.16.102 49154
周六 四月 26 13:20:48 2014 DEBUG ICE reverse check complete 192.168.16.102 port 49154 (local 192.168.16.102 port 49152)
周六 四月 26 13:20:48 2014 RECEIVED STUN packet from 192.168.16.102 port 61668
 type Binding Request (1)
 id b44fdd6d8dc1c45eadcbaae4
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270975
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:48 2014 SENT Sent to 192.168.16.102 port 61668 (local 192.168.16.102 port 49152)
 type Binding Response (257)
 id b44fdd6d8dc1c45eadcbaae4
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.16.102 61668
周六 四月 26 13:20:48 2014 DEBUG ICE reverse check complete 192.168.16.102 port 61668 (local 192.168.16.102 port 49152)
周六 四月 26 13:20:48 2014 RECEIVED STUN packet from 192.168.16.102 port 49154
 type Binding Request (1)
 id a89fa14d79115f6092080f8e
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270975
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:48 2014 SENT Sent to 192.168.16.102 port 49154 (local 192.168.18.1 port 49152)
 type Binding Response (257)
 id a89fa14d79115f6092080f8e
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.16.102 49154
周六 四月 26 13:20:48 2014 DEBUG ICE reverse check complete 192.168.16.102 port 49154 (local 192.168.18.1 port 49152)
周六 四月 26 13:20:48 2014 RECEIVED STUN packet from 192.168.18.1 port 49154
 type Binding Request (1)
 id 5e84576bf5418fc6ff887708
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270975
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:48 2014 SENT Sent to 192.168.18.1 port 49154 (local 192.168.18.1 port 49152)
 type Binding Response (257)
 id 5e84576bf5418fc6ff887708
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.18.1 49154
周六 四月 26 13:20:48 2014 DEBUG ICE reverse check complete 192.168.18.1 port 49154 (local 192.168.18.1 port 49152)
周六 四月 26 13:20:48 2014 RECEIVED STUN packet from 192.168.200.2 port 49154
 type Binding Request (1)
 id a4256f4e7d1c7dd25511271d
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270975
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:48 2014 SENT Sent to 192.168.200.2 port 49154 (local 192.168.18.1 port 49152)
 type Binding Response (257)
 id a4256f4e7d1c7dd25511271d
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.200.2 49154
周六 四月 26 13:20:48 2014 DEBUG ICE reverse check complete 192.168.200.2 port 49154 (local 192.168.18.1 port 49152)
周六 四月 26 13:20:48 2014 RECEIVED STUN packet from 192.168.200.2 port 49154
 type Binding Request (1)
 id 90da7fed61c5e7675541ab75
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270975
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:48 2014 SENT Sent to 192.168.200.2 port 49154 (local 192.168.200.2 port 49152)
 type Binding Response (257)
 id 90da7fed61c5e7675541ab75
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.200.2 49154
周六 四月 26 13:20:48 2014 DEBUG ICE reverse check complete 192.168.200.2 port 49154 (local 192.168.200.2 port 49152)
周六 四月 26 13:20:48 2014 RECEIVED STUN packet from 192.168.16.102 port 49155
 type Binding Request (1)
 id dd5c290b6b179b2d7240ce60
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270974
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:48 2014 SENT Sent to 192.168.16.102 port 49155 (local 192.168.16.102 port 49153)
 type Binding Response (257)
 id dd5c290b6b179b2d7240ce60
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.16.102 49155
周六 四月 26 13:20:48 2014 DEBUG ICE reverse check complete 192.168.16.102 port 49155 (local 192.168.16.102 port 49153)
周六 四月 26 13:20:48 2014 RECEIVED STUN packet from 192.168.16.102 port 61669
 type Binding Request (1)
 id a85d25864f7639898edcc091
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270974
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:48 2014 SENT Sent to 192.168.16.102 port 61669 (local 192.168.16.102 port 49153)
 type Binding Response (257)
 id a85d25864f7639898edcc091
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.16.102 61669
周六 四月 26 13:20:48 2014 DEBUG ICE reverse check complete 192.168.16.102 port 61669 (local 192.168.16.102 port 49153)
周六 四月 26 13:20:48 2014 RECEIVED STUN packet from 192.168.16.102 port 49155
 type Binding Request (1)
 id 74d008e9e9d09f743d5b09f8
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270974
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:48 2014 SENT Sent to 192.168.16.102 port 49155 (local 192.168.18.1 port 49153)
 type Binding Response (257)
 id 74d008e9e9d09f743d5b09f8
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.16.102 49155
周六 四月 26 13:20:48 2014 DEBUG ICE reverse check complete 192.168.16.102 port 49155 (local 192.168.18.1 port 49153)
周六 四月 26 13:20:48 2014 RECEIVED STUN packet from 192.168.18.1 port 49155
 type Binding Request (1)
 id 85add5bcb6e31e664facbe3c
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270974
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:48 2014 SENT Sent to 192.168.18.1 port 49155 (local 192.168.18.1 port 49153)
 type Binding Response (257)
 id 85add5bcb6e31e664facbe3c
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.18.1 49155
周六 四月 26 13:20:48 2014 DEBUG ICE reverse check complete 192.168.18.1 port 49155 (local 192.168.18.1 port 49153)
周六 四月 26 13:20:48 2014 RECEIVED STUN packet from 192.168.200.2 port 49155
 type Binding Request (1)
 id ae48a2a6d2f81e9f75bcaace
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270974
 * ICE-CONTROLLED 0000000000000000
bufferSize 2560 
周六 四月 26 13:20:48 2014 SENT Sent to 192.168.200.2 port 49155 (local 192.168.18.1 port 49153)
 type Binding Response (257)
 id ae48a2a6d2f81e9f75bcaace
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.200.2 49155
周六 四月 26 13:20:48 2014 DEBUG ICE reverse check complete 192.168.200.2 port 49155 (local 192.168.18.1 port 49153)
周六 四月 26 13:20:48 2014 RECEIVED STUN packet from 192.168.200.2 port 49155
 type Binding Request (1)
 id af5a3b5609acb3fd1cfb91fa
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270974
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:48 2014 SENT Sent to 192.168.200.2 port 49155 (local 192.168.200.2 port 49153)
 type Binding Response (257)
 id af5a3b5609acb3fd1cfb91fa
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.200.2 49155
周六 四月 26 13:20:48 2014 DEBUG ICE reverse check complete 192.168.200.2 port 49155 (local 192.168.200.2 port 49153)
周六 四月 26 13:20:48 2014 RECEIVED <iq id="qxmpp12" to="hk520580@xiaozhen/QXmpp" type="set" from="fish@xiaozhen/QXmpp"><jingle xmlns="urn:xmpp:jingle:1" action="session-accept" responder="fish@xiaozhen/QXmpp" sid="wXyN88jvZv0XXfounrVDFwrxfTyAL0sJ"><content creator="initiator" name="voice"><description xmlns="urn:xmpp:jingle:apps:rtp:1" media="audio"><payload-type id="0" name="PCMU" clockrate="8000"/><payload-type id="8" name="PCMA" clockrate="8000"/><payload-type id="101" name="telephone-event" clockrate="8000"><parameter name="events" value="0-15"/></payload-type></description><transport xmlns="urn:xmpp:jingle:transports:ice-udp:1" ufrag="S8jf" pwd="Djar0DVrwrvqfLF2c7Puhh"><candidate component="1" foundation="0" generation="0" id="mCieTEhRVk" ip="192.168.16.102" network="0" port="49154" priority="2130706431" protocol="udp" type="host"/><candidate component="1" foundation="1" generation="0" id="tOMMJpoZar" ip="192.168.18.1" network="0" port="49154" priority="2130706431" protocol="udp" type="host"/><candidate component="1" foundation="2" generation="0" id="yESGqpglg3" ip="192.168.200.2" network="0" port="49154" priority="2130706431" protocol="udp" type="host"/><candidate component="2" foundation="0" generation="0" id="DekEFHLrmv" ip="192.168.16.102" network="0" port="49155" priority="2130706430" protocol="udp" type="host"/><candidate component="2" foundation="1" generation="0" id="pWkCzqQHol" ip="192.168.18.1" network="0" port="49155" priority="2130706430" protocol="udp" type="host"/><candidate component="2" foundation="2" generation="0" id="oRXxw01Ym0" ip="192.168.200.2" network="0" port="49155" priority="2130706430" protocol="udp" type="host"/></transport></content></jingle></iq>
周六 四月 26 13:20:48 2014 SENT <iq id="qxmpp12" to="fish@xiaozhen/QXmpp" type="result"/>
周六 四月 26 13:20:48 2014 DEBUG Checking remote candidates
周六 四月 26 13:20:48 2014 SENT Sent to 192.168.16.102 port 49154 (local 192.168.16.102 port 49152)
 type Binding Request (1)
 id 8adc03278c78577e2805bc7d
 * USERNAME S8jf:kSEr
 * PRIORITY 1862270975
 * ICE-CONTROLLING 0000000000000000
周六 四月 26 13:20:48 2014 SENT Sent to 192.168.16.102 port 61668 (local 192.168.16.102 port 49152)
 type Binding Request (1)
 id 56880ba960fe13df54ea6a30
 * USERNAME S8jf:kSEr
 * PRIORITY 1862270975
 * ICE-CONTROLLING 0000000000000000
周六 四月 26 13:20:48 2014 SENT Sent to 192.168.16.102 port 49154 (local 192.168.18.1 port 49152)
 type Binding Request (1)
 id 9d64ae3900067e2b557a8740
 * USERNAME S8jf:kSEr
 * PRIORITY 1862270975
 * ICE-CONTROLLING 0000000000000000
周六 四月 26 13:20:48 2014 SENT Sent to 192.168.18.1 port 49154 (local 192.168.18.1 port 49152)
 type Binding Request (1)
 id a38b5fd0866115ce988adf8e
 * USERNAME S8jf:kSEr
 * PRIORITY 1862270975
 * ICE-CONTROLLING 0000000000000000
周六 四月 26 13:20:48 2014 SENT Sent to 192.168.200.2 port 49154 (local 192.168.18.1 port 49152)
 type Binding Request (1)
 id c3882988d99043a18b05a1fc
 * USERNAME S8jf:kSEr
 * PRIORITY 1862270975
 * ICE-CONTROLLING 0000000000000000
周六 四月 26 13:20:48 2014 SENT Sent to 192.168.200.2 port 49154 (local 192.168.200.2 port 49152)
 type Binding Request (1)
 id b50460e6a1dd7680360da7d1
 * USERNAME S8jf:kSEr
 * PRIORITY 1862270975
 * ICE-CONTROLLING 0000000000000000
周六 四月 26 13:20:48 2014 DEBUG Checking remote candidates
周六 四月 26 13:20:48 2014 SENT Sent to 192.168.16.102 port 49155 (local 192.168.16.102 port 49153)
 type Binding Request (1)
 id 9b7edba06a4db354740fab01
 * USERNAME S8jf:kSEr
 * PRIORITY 1862270974
 * ICE-CONTROLLING 0000000000000000
周六 四月 26 13:20:48 2014 SENT Sent to 192.168.16.102 port 61669 (local 192.168.16.102 port 49153)
 type Binding Request (1)
 id 83e5da6e85a7d9a632deca1f
 * USERNAME S8jf:kSEr
 * PRIORITY 1862270974
 * ICE-CONTROLLING 0000000000000000
周六 四月 26 13:20:48 2014 SENT Sent to 192.168.16.102 port 49155 (local 192.168.18.1 port 49153)
 type Binding Request (1)
 id 47ef0706bb49fb3caf8b46e7
 * USERNAME S8jf:kSEr
 * PRIORITY 1862270974
 * ICE-CONTROLLING 0000000000000000
周六 四月 26 13:20:48 2014 SENT Sent to 192.168.18.1 port 49155 (local 192.168.18.1 port 49153)
 type Binding Request (1)
 id a01acf7b00a8f5092a32a7c4
 * USERNAME S8jf:kSEr
 * PRIORITY 1862270974
 * ICE-CONTROLLING 0000000000000000
周六 四月 26 13:20:48 2014 SENT Sent to 192.168.200.2 port 49155 (local 192.168.18.1 port 49153)
 type Binding Request (1)
 id ab810a6d473120848834ca75
 * USERNAME S8jf:kSEr
 * PRIORITY 1862270974
 * ICE-CONTROLLING 0000000000000000
周六 四月 26 13:20:48 2014 SENT Sent to 192.168.200.2 port 49155 (local 192.168.200.2 port 49153)
 type Binding Request (1)
 id 0e8a990042dff8c566799dd9
 * USERNAME S8jf:kSEr
 * PRIORITY 1862270974
 * ICE-CONTROLLING 0000000000000000
周六 四月 26 13:20:48 2014 SENT <iq id="qxmpp14" to="fish@xiaozhen/QXmpp" type="set"><jingle xmlns="urn:xmpp:jingle:1" action="content-add" sid="wXyN88jvZv0XXfounrVDFwrxfTyAL0sJ"><content creator="initiator" name="webcam" senders="both"><transport xmlns="urn:xmpp:jingle:transports:ice-udp:1" ufrag="FKd8" pwd="DqK4DYsLkfO8XAbvcXl0kP"><candidate component="1" foundation="0" generation="0" id="CnnaXPE4ak" ip="192.168.16.102" network="0" port="49156" priority="2130706431" protocol="udp" type="host"/><candidate component="1" foundation="1" generation="0" id="mk2kqSnQht" ip="192.168.18.1" network="0" port="49156" priority="2130706431" protocol="udp" type="host"/><candidate component="1" foundation="2" generation="0" id="1UArHxnDbM" ip="192.168.200.2" network="0" port="49156" priority="2130706431" protocol="udp" type="host"/><candidate component="2" foundation="0" generation="0" id="eTlN5IOqtv" ip="192.168.16.102" network="0" port="49157" priority="2130706430" protocol="udp" type="host"/><candidate component="2" foundation="1" generation="0" id="MxUa7rBafq" ip="192.168.18.1" network="0" port="49157" priority="2130706430" protocol="udp" type="host"/><candidate component="2" foundation="2" generation="0" id="Ser0lruFNX" ip="192.168.200.2" network="0" port="49157" priority="2130706430" protocol="udp" type="host"/></transport></content></jingle></iq>
周六 四月 26 13:20:48 2014 RECEIVED STUN packet from 192.168.16.102 port 49154
 type Binding Response (257)
 id 8adc03278c78577e2805bc7d
 * USERNAME S8jf:kSEr
 * XOR-MAPPED-ADDRESS 192.168.16.102 49152
周六 四月 26 13:20:48 2014 DEBUG ICE forward check complete 192.168.16.102 port 49154 (local 192.168.16.102 port 49152) (reflexive 192.168.16.102 port 49152)
周六 四月 26 13:20:48 2014 INFO ICE pair selected 192.168.16.102 port 49154 (local 192.168.16.102 port 49152) (reflexive 192.168.16.102 port 49152) (priority: 7998392938176446463)
周六 四月 26 13:20:48 2014 RECEIVED STUN packet from 192.168.16.102 port 49154
 type Binding Request (1)
 id 08e3c994c2ef8c02015661a9
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270975
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:48 2014 SENT Sent to 192.168.16.102 port 49154 (local 192.168.16.102 port 49152) (reflexive 192.168.16.102 port 49152)
 type Binding Response (257)
 id 08e3c994c2ef8c02015661a9
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.16.102 49154
周六 四月 26 13:20:48 2014 DEBUG ICE reverse check complete 192.168.16.102 port 49154 (local 192.168.16.102 port 49152) (reflexive 192.168.16.102 port 49152)
周六 四月 26 13:20:48 2014 RECEIVED STUN packet from 192.168.16.102 port 61668
 type Binding Response (257)
 id 56880ba960fe13df54ea6a30
 * USERNAME S8jf:kSEr
 * XOR-MAPPED-ADDRESS 192.168.16.102 49152
周六 四月 26 13:20:48 2014 DEBUG ICE forward check complete 192.168.16.102 port 61668 (local 192.168.16.102 port 49152) (reflexive 192.168.16.102 port 49152)
周六 四月 26 13:20:48 2014 RECEIVED STUN packet from 192.168.200.2 port 49154
 type Binding Response (257)
 id b50460e6a1dd7680360da7d1
 * USERNAME S8jf:kSEr
 * XOR-MAPPED-ADDRESS 192.168.200.2 49152
周六 四月 26 13:20:48 2014 DEBUG ICE forward check complete 192.168.200.2 port 49154 (local 192.168.200.2 port 49152) (reflexive 192.168.200.2 port 49152)
周六 四月 26 13:20:48 2014 RECEIVED STUN packet from 192.168.18.1 port 49154
 type Binding Response (257)
 id a38b5fd0866115ce988adf8e
 * USERNAME S8jf:kSEr
 * XOR-MAPPED-ADDRESS 192.168.18.1 49152
周六 四月 26 13:20:48 2014 DEBUG ICE forward check complete 192.168.18.1 port 49154 (local 192.168.18.1 port 49152) (reflexive 192.168.18.1 port 49152)
周六 四月 26 13:20:48 2014 RECEIVED STUN packet from 192.168.16.102 port 49155
 type Binding Response (257)
 id 9b7edba06a4db354740fab01
 * USERNAME S8jf:kSEr
 * XOR-MAPPED-ADDRESS 192.168.16.102 49153
周六 四月 26 13:20:48 2014 DEBUG ICE forward check complete 192.168.16.102 port 49155 (local 192.168.16.102 port 49153) (reflexive 192.168.16.102 port 49153)
周六 四月 26 13:20:48 2014 INFO ICE pair selected 192.168.16.102 port 49155 (local 192.168.16.102 port 49153) (reflexive 192.168.16.102 port 49153) (priority: 7998392933881479165)
周六 四月 26 13:20:48 2014 INFO ICE negotiation completed
周六 四月 26 13:20:48 2014 RECEIVED STUN packet from 192.168.16.102 port 49155
 type Binding Request (1)
 id dd5c290b6b179b2d7240ce60
 * USERNAME kSEr:S8jf
 * PRIORITY 1862270974
 * ICE-CONTROLLED 0000000000000000
周六 四月 26 13:20:48 2014 SENT Sent to 192.168.16.102 port 49155 (local 192.168.16.102 port 49153) (reflexive 192.168.16.102 port 49153)
 type Binding Response (257)
 id dd5c290b6b179b2d7240ce60
 * USERNAME kSEr:S8jf
 * XOR-MAPPED-ADDRESS 192.168.16.102 49155
周六 四月 26 13:20:48 2014 DEBUG ICE reverse check complete 192.168.16.102 port 49155 (local 192.168.16.102 port 49153) (reflexive 192.168.16.102 port 49153)
周六 四月 26 13:20:48 2014 RECEIVED STUN packet from 192.168.16.102 port 61669
 type Binding Response (257)
 id 83e5da6e85a7d9a632deca1f
 * USERNAME S8jf:kSEr
 * XOR-MAPPED-ADDRESS 192.168.16.102 49153
周六 四月 26 13:20:48 2014 DEBUG ICE forward check complete 192.168.16.102 port 61669 (local 192.168.16.102 port 49153) (reflexive 192.168.16.102 port 49153)
周六 四月 26 13:20:48 2014 RECEIVED STUN packet from 192.168.200.2 port 49155
 type Binding Response (257)
 id 0e8a990042dff8c566799dd9
 * USERNAME S8jf:kSEr
 * XOR-MAPPED-ADDRESS 192.168.200.2 49153
周六 四月 26 13:20:48 2014 DEBUG ICE forward check complete 192.168.200.2 port 49155 (local 192.168.200.2 port 49153) (reflexive 192.168.200.2 port 49153)
周六 四月 26 13:20:48 2014 RECEIVED STUN packet from 192.168.18.1 port 49155
 type Binding Response (257)
 id a01acf7b00a8f5092a32a7c4
 * USERNAME S8jf:kSEr
 * XOR-MAPPED-ADDRESS 192.168.18.1 49153
周六 四月 26 13:20:48 2014 DEBUG ICE forward check complete 192.168.18.1 port 49155 (local 192.168.18.1 port 49153) (reflexive 192.168.18.1 port 49153)
周六 四月 26 13:20:48 2014 RECEIVED <iq id="qxmpp14" to="hk520580@xiaozhen/QXmpp" type="result" from="fish@xiaozhen/QXmpp"/>
周六 四月 26 13:20:48 2014 DEBUG Received ACK for packet qxmpp14
周六 四月 26 13:21:41 2014 SENT <iq id="qxmpp16" to="xiaozhen" type="get"><ping xmlns="urn:xmpp:ping"/></iq>
周六 四月 26 13:21:41 2014 RECEIVED <iq type="result" id="qxmpp16" from="xiaozhen" to="hk520580@xiaozhen/QXmpp"/>
周六 四月 26 13:22:41 2014 SENT <iq id="qxmpp18" to="xiaozhen" type="get"><ping xmlns="urn:xmpp:ping"/></iq>
周六 四月 26 13:22:41 2014 RECEIVED <iq type="result" id="qxmpp18" from="xiaozhen" to="hk520580@xiaozhen/QXmpp"/>
@hipersayanX

This comment has been minimized.

Show comment
Hide comment
@hipersayanX

hipersayanX Apr 26, 2014

Owner

From your log:

<iq id="qxmpp9" to="fish@xiaozhen/QXmpp" type="set">
    <jingle xmlns="urn:xmpp:jingle:1" action="session-initiate" initiator="hk520580@xiaozhen/QXmpp" sid="wXyN88jvZv0XXfounrVDFwrxfTyAL0sJ">
        <content creator="initiator" name="voice" senders="both">
            <description xmlns="urn:xmpp:jingle:apps:rtp:1" media="audio">
                <payload-type id="0" name="PCMU" clockrate="8000"/>
                <payload-type id="8" name="PCMA" clockrate="8000"/>
                <payload-type id="101" name="telephone-event" clockrate="8000">
                    <parameter name="events" value="0-15"/>
                    <transport xmlns="urn:xmpp:jingle:transports:ice-udp:1" ufrag="kSEr" pwd="0OCPUgYq2T2H2Y7PB56VMG">
                        <candidate component="1" foundation="0" generation="0" id="9N1iOmbGwA" ip="192.168.16.102" network="0" port="49152" priority="2130706431" protocol="udp" type="host"/>
                        <candidate component="1" foundation="1" generation="0" id="hdHKwOnUFN" ip="192.168.18.1" network="0" port="49152" priority="2130706431" protocol="udp" type="host"/>
                        <candidate component="1" foundation="2" generation="0" id="qrg5EKTQj1" ip="192.168.200.2" network="0" port="49152" priority="2130706431" protocol="udp" type="host"/>
                        <candidate component="2" foundation="0" generation="0" id="Pv2rGUGKKw" ip="192.168.16.102" network="0" port="49153" priority="2130706430" protocol="udp" type="host"/>
                        <candidate component="2" foundation="1" generation="0" id="jA9ZwuSbs3" ip="192.168.18.1" network="0" port="49153" priority="2130706430" protocol="udp" type="host"/>
                        <candidate component="2" foundation="2" generation="0" id="MuPMgD0Wbd" ip="192.168.200.2" network="0" port="49153" priority="2130706430" protocol="udp" type="host"/>
                    </transport>
            </description>
        </content>
    </jingle>
</iq>

This is only defining the transport layer for audio (in PCM only format), this is the reason because you cann't do a video call, you didn't compiled QXmpp with Speex, Theora and VP8 support as Jeremy said before.
That is the reason because MainWindow::videoModeChanged is never called.

  1. Download Speex from here.

  2. Download Theora from here. (needs compile, don't ask me how, I really don't know)

  3. Download LibVpx from here. (needs compile, don't ask me how, I really don't know)

  4. Open qxmpp.pro, then in Qt Creator -> Projects tab -> Build -> Build Steps -> Additional arguments box, write:

QXMPP_USE_SPEEX=1 QXMPP_USE_THEORA=1 QXMPP_USE_VPX=1 INCLUDEPATH+="path/to/speex/theora/and/vpx/includes" LIBS+="path/to/speex/theora/and/vpx/.a/or/.dll/or/.lib/files"

and build the project.

  1. Then, link QXmpp to VoipTest defining INCLUDEPATH and LIBS as before, and compile.
Owner

hipersayanX commented Apr 26, 2014

From your log:

<iq id="qxmpp9" to="fish@xiaozhen/QXmpp" type="set">
    <jingle xmlns="urn:xmpp:jingle:1" action="session-initiate" initiator="hk520580@xiaozhen/QXmpp" sid="wXyN88jvZv0XXfounrVDFwrxfTyAL0sJ">
        <content creator="initiator" name="voice" senders="both">
            <description xmlns="urn:xmpp:jingle:apps:rtp:1" media="audio">
                <payload-type id="0" name="PCMU" clockrate="8000"/>
                <payload-type id="8" name="PCMA" clockrate="8000"/>
                <payload-type id="101" name="telephone-event" clockrate="8000">
                    <parameter name="events" value="0-15"/>
                    <transport xmlns="urn:xmpp:jingle:transports:ice-udp:1" ufrag="kSEr" pwd="0OCPUgYq2T2H2Y7PB56VMG">
                        <candidate component="1" foundation="0" generation="0" id="9N1iOmbGwA" ip="192.168.16.102" network="0" port="49152" priority="2130706431" protocol="udp" type="host"/>
                        <candidate component="1" foundation="1" generation="0" id="hdHKwOnUFN" ip="192.168.18.1" network="0" port="49152" priority="2130706431" protocol="udp" type="host"/>
                        <candidate component="1" foundation="2" generation="0" id="qrg5EKTQj1" ip="192.168.200.2" network="0" port="49152" priority="2130706431" protocol="udp" type="host"/>
                        <candidate component="2" foundation="0" generation="0" id="Pv2rGUGKKw" ip="192.168.16.102" network="0" port="49153" priority="2130706430" protocol="udp" type="host"/>
                        <candidate component="2" foundation="1" generation="0" id="jA9ZwuSbs3" ip="192.168.18.1" network="0" port="49153" priority="2130706430" protocol="udp" type="host"/>
                        <candidate component="2" foundation="2" generation="0" id="MuPMgD0Wbd" ip="192.168.200.2" network="0" port="49153" priority="2130706430" protocol="udp" type="host"/>
                    </transport>
            </description>
        </content>
    </jingle>
</iq>

This is only defining the transport layer for audio (in PCM only format), this is the reason because you cann't do a video call, you didn't compiled QXmpp with Speex, Theora and VP8 support as Jeremy said before.
That is the reason because MainWindow::videoModeChanged is never called.

  1. Download Speex from here.

  2. Download Theora from here. (needs compile, don't ask me how, I really don't know)

  3. Download LibVpx from here. (needs compile, don't ask me how, I really don't know)

  4. Open qxmpp.pro, then in Qt Creator -> Projects tab -> Build -> Build Steps -> Additional arguments box, write:

QXMPP_USE_SPEEX=1 QXMPP_USE_THEORA=1 QXMPP_USE_VPX=1 INCLUDEPATH+="path/to/speex/theora/and/vpx/includes" LIBS+="path/to/speex/theora/and/vpx/.a/or/.dll/or/.lib/files"

and build the project.

  1. Then, link QXmpp to VoipTest defining INCLUDEPATH and LIBS as before, and compile.
@hk520580

This comment has been minimized.

Show comment
Hide comment
@hk520580

hk520580 Apr 27, 2014

thank you very much!

thank you very much!

@hk520580

This comment has been minimized.

Show comment
Hide comment
@hk520580

hk520580 May 4, 2014

sorry,I couldn't complie they! it have some error!
can you tell me how to translate image by xml (use qxmpp?)
I'm going to graduate, but the lack of video transmission function! Thank you very much!

hk520580 commented May 4, 2014

sorry,I couldn't complie they! it have some error!
can you tell me how to translate image by xml (use qxmpp?)
I'm going to graduate, but the lack of video transmission function! Thank you very much!

@hk520580

This comment has been minimized.

Show comment
Hide comment
@hk520580

hk520580 May 6, 2014

I use the qxmpp default it work well!thank you!

 videoFormat.setFrameRate(15);
 videoFormat.setFrameSize(QSize(320, 240));

hk520580 commented May 6, 2014

I use the qxmpp default it work well!thank you!

 videoFormat.setFrameRate(15);
 videoFormat.setFrameSize(QSize(320, 240));
@hk520580

This comment has been minimized.

Show comment
Hide comment
@hk520580

hk520580 May 12, 2014

I have two QWidget for videocall!
the QWidget is like this
masterchatroom
the left is chatroom,the right is master
how to use your code in my project!
I use your code,but when I have a firend,it's work well!
but when I have more than the a firend,it can rec the message.
but no the feedback!
my sendfile is have same problem!
My room code is


#include "chatroom.h"
#include "ui_chatroom.h"
#include<QXmppRtpChannel.h>
#include <QAudioInput>
#include <QAudioOutput>
chatRoom::chatRoom(QWidget *parent) :
    skinModel(parent),
    ui(new Ui::chatRoom)
{
    ui->setupUi(this);
    setAttribute(Qt::WA_TranslucentBackground, true);
    this->setWindowFlags(Qt::FramelessWindowHint);

    sendFileJob=NULL;
    job=NULL;

    transferManager = new QXmppTransferManager;
    transferManager->setProxy("proxy.xiaozhen");
    transferManager->setSupportedMethods(QXmppTransferJob::SocksMethod);


    //窗口指针初始化
    fulscW = new fullScreenWidget();
    qcD = new QColorDialog(NULL);
    ew = new EmotionWidget(NULL);
    setWindowTitle(QString::fromLocal8Bit("聊天窗口"));

    initButton();
    initComBox();
    // 初始化
    cam     = NULL;
    timer   = new QTimer(this);
    imag    = new QImage();
    textFlag = false;
    ui->textWidget->hide();
    ui->btnRec->hide();

    /*信号和槽*/
    connect(ew,SIGNAL(clieckTable(int,int)),this,SLOT(gifText(int,int)));

    connect(this,SIGNAL(setPixmap(QPixmap)),fulscW,SLOT(loadBackgroundPixmap(QPixmap)));
    connect(transferManager,SIGNAL(fileReceived(QXmppTransferJob*)),this,SLOT(slotfileReceived(QXmppTransferJob*)));
    connect(&this->m_timer,SIGNAL(timeout()),this,SLOT(writeFrame()));

    this->m_call = NULL;
    this->m_timer.setInterval(1);
    isFirstFlag = true;
}

chatRoom::~chatRoom()
{
    //cvReleaseCapture(&cam);//释放内存;
    delete ui;
}
//打开摄像头
void chatRoom::on_btnVideo_clicked()
{
    if (ui->nameLabel->text().isEmpty())
        return;

    // Call to contact as otherusername@server.org/resource
    //hk520580@xiaozhen/QXmpp
    QString str = ui->nameLabel->text()+"/QXmpp";
    m_chatRoom = m_roomChatDlgsList[ui->nameLabel->text()];
    this->m_call = m_chatRoom->m_callManager.call(str);
    QObject::connect(this->m_call,
                     SIGNAL(connected()),
                     this,
                     SLOT(callConnected()));

    QObject::connect(this->m_call,
                     SIGNAL(finished()),
                     this,
                     SLOT(callFinished()));

    QObject::connect(this->m_call,
                     SIGNAL(audioModeChanged(QIODevice::OpenMode)),
                     this,
                     SLOT(audioModeChanged(QIODevice::OpenMode)));

    QObject::connect(this->m_call,
                     SIGNAL(videoModeChanged(QIODevice::OpenMode)),
                     this,
                     SLOT(videoModeChanged(QIODevice::OpenMode)));
}
void chatRoom::setJob(QXmppTransferJob *Job)
{
    job=Job;
    ui->btnRec->show();
    ui->fileTip->setText(ui->nameLabel->text()+QString::fromLocal8Bit("向您发送了文件:")+job->fileName());
    connect(job, SIGNAL(error(QXmppTransferJob::Error)),
            this, SLOT(slotError(QXmppTransferJob::Error)));
    connect(job, SIGNAL(finished()),
            this, SLOT(slotFinished()));

    connect(job, SIGNAL(progress(qint64,qint64)),
            this, SLOT(slotProgress(qint64,qint64)));
}
//显示当前帧
void chatRoom::showImage()
{
    frame = cvQueryFrame(cam);// 从摄像头中抓取并返回每一帧
    // 将抓取到的帧,转换为QImage格式。QImage::Format_RGB888不同的摄像头用不同的格式。
    //int imageWidth = ui->videoLabel->width();
    //int imageHeigth = ui->videoLabel->height();
    QImage image = QImage((const uchar*)frame->imageData, frame->width, frame->height, QImage::Format_RGB888).rgbSwapped();
    //QXmppRtpChannel videoSend;

    ui->outcomingLabel->setPixmap(QPixmap::fromImage(image));  // 将图片显示到label上
}

void chatRoom::on_btnStop_clicked()
{

}

void chatRoom::on_btnClose_clicked()
{
    this->close();
    if (this->m_call)
    {
        // Hangup call.
        this->m_call->hangup();
        QObject::disconnect(this->m_call,
                            SIGNAL(connected()),
                            this,
                            SLOT(callConnected()));

        QObject::disconnect(this->m_call,
                            SIGNAL(finished()),
                            this,
                            SLOT(callFinished()));

        QObject::disconnect(this->m_call,
                            SIGNAL(stateChanged(QXmppCall::State)),
                            this,
                            SLOT(stateChanged(QXmppCall::State)));

        QObject::disconnect(this->m_call,
                            SIGNAL(audioModeChanged(QIODevice::OpenMode)),
                            m_chatRoom,
                            SLOT(audioModeChanged(QIODevice::OpenMode)));

        QObject::disconnect(this->m_call,
                            SIGNAL(videoModeChanged(QIODevice::OpenMode)),
                            this,
                            SLOT(videoModeChanged(QIODevice::OpenMode)));

        this->m_call = NULL;
    }
}

void chatRoom::on_btnMin_clicked()
{
    this->showMinimized();
}
void chatRoom::setText(QString str)
{
    ui->nameLabel->setText(str);
}
QString chatRoom::getText()
{
    return ui->nameLabel->text();
}
void chatRoom::setImage(QPixmap image)
{
    ui->imageLabel->setPixmap(image);
}
void chatRoom::initButton()
{
    //bottom
    ui->btnText->setImage(":/loginImage/loginImage/MidToolbar/aio_quickbar_font.png");
    ui->btnEmotion->setImage(":/loginImage/loginImage/MidToolbar/aio_quickbar_face.png");
    ui->btnRichface->setImage(":/loginImage/loginImage/MidToolbar/aio_quickbar_richface.png");
    ui->btnTwitter->setImage(":/loginImage/loginImage/MidToolbar/aio_quickbar_twitter.png");
    ui->btnInputassist->setImage(":/loginImage/loginImage/MidToolbar/aio_quickbar_inputassist.png");
    ui->btnSendpic->setImage(":/loginImage/loginImage/MidToolbar/aio_quickbar_sendpic.png");
    ui->btnSendFile->setImage(":/loginImage/loginImage/MidToolbar/aio_quickbar_more.png");
    ui->btnCut->setImage(":/loginImage/loginImage/MidToolbar/aio_quickbar_cut.png");
    ui->btnRegister->setImage(":/loginImage/loginImage/MidToolbar/aio_quickbar_register.png");
    //top
    ui->btnVideo->setImage(":/loginImage/loginImage/chatRoomTop/video.png");
    ui->btnVoice->setImage(":/loginImage/loginImage/chatRoomTop/b9m0_0.png");
    ui->btnAdd->setImage(":/loginImage/loginImage/chatRoomTop/b8m0_0.png");
    ui->btnApp->setImage(":/loginImage/loginImage/chatRoomTop/aio_toobar_app.png");
    //text
    ui->btnFont->setImage(":/loginImage/loginImage/MidToolbar/MidToolbarExtUp_Font/aio_quickbar_sysfont_tab_button.png");
    ui->btnBlod->setImage(":/loginImage/loginImage/MidToolbar/MidToolbarExtUp_Font/Bold.png");
    ui->btnItalic->setImage(":/loginImage/loginImage/MidToolbar/MidToolbarExtUp_Font/Italic.png");
    ui->btnUnderLine->setImage(":/loginImage/loginImage/MidToolbar/MidToolbarExtUp_Font/underline.png");
    ui->btnColor->setImage(":/loginImage/loginImage/MidToolbar/MidToolbarExtUp_Font/color.png");
}
void chatRoom::initComBox()
{
    QString temp;
    for(int i = 1;i<100;i++)
    {
        temp = temp.number(i);
        ui->comSize->addItem(temp);
        qDebug()<<temp;
    }
}

void chatRoom::on_btnCut_clicked()
{
    QPixmap pixmap = fulscW->getFullScreenPixmap();
    fulscW->show();
    emit setPixmap(pixmap); //发送信号,使用当前的屏幕的图片作背景图片
}

void chatRoom::on_btnText_clicked()
{
    if(!textFlag)
    {
        ui->textWidget->show();
        textFlag = true;
    }
    else
    {
        ui->textWidget->hide();
        textFlag = false;
    }
}

void chatRoom::on_btnColor_clicked()
{
    qcD->exec() ;
}

void chatRoom::on_btnSend_clicked()
{
    sendMessage();
}
void chatRoom::sendMessage()
{
    QString message=ui->messageEdit->toHtml();
    // QString message = ui->messageEdit->toPlainText();
    qDebug()<<"message"<<message;
    if(ui->messageEdit->toPlainText().isEmpty()){
        return;
    }
    QXmppMessage msg("",ui->nameLabel->text(),message);   /* from , to , message body */
    msg.setStamp(QDateTime::currentDateTime());
    client->sendPacket(msg);
    QString msgText("<font color='blue'>"+QString::fromLocal8Bit("我")+" </font><font color='green'>"+
                    QDateTime::currentDateTime().toString("yyyy/MM/dd hh:mm:ss")+
                    "</font><font color='black'>"+
                    message+"</font>");
    ui->announcement->append(msgText);
    ui->messageEdit->clear();
}
void chatRoom::MessageReceive(const QXmppMessage &message)
{
    QDateTime dt=message.stamp().toLocalTime();
    QString msgText("<font color='blue'>"+ui->nameLabel->text()+" </font>"+
                    "<font color='green'>"+dt.toString("yyyy/MM/dd hh:mm:ss")+
                    "</font><font color='black'>"+message.body()+
                    "</font>");
    ui->announcement->append(msgText);

    GifTextEdit *editChange = new GifTextEdit;
    editChange->hide();
    editChange->append(message.body());
    QString str = editChange->toPlainText();
    qDebug()<<str;
}
void chatRoom::setClient(QXmppClient *client)
{
    this->client = client;

    // Add the extention for Jingle (Voice/Video calls).
    this->client->addExtension(&this->m_callManager);
    client->clientPresence().setType(QXmppPresence::Available);
    connect(&this->m_callManager,SIGNAL(callReceived(QXmppCall *)),this,SLOT(callReceived(QXmppCall *)));
    connect(&this->m_callManager,SIGNAL(callStarted(QXmppCall *)),this,SLOT(callStarted(QXmppCall *)));
}

void chatRoom::on_btnEmotion_clicked()
{
    QPoint GlobalPoint(ui->btnEmotion->mapToGlobal(QPoint(0, 0)));//获取控件在窗体中的坐标
    int x = GlobalPoint.x();
    int y = GlobalPoint.y();
    ew->setGeometry(x,y-ew->height(),ew->width(),ew->height());
    ew->show();
}
void chatRoom::gifText(int row,int column)
{
    QString str = QString::number(row*7+column);
    ui->messageEdit->insertHtml("<img src='"+str+"'/>"); // 设置索引
    ui->messageEdit->addAnimation(QUrl(str),":/image/xy2qq_3/emo_"+str+".gif");  //添加一个动画.
}

void chatRoom::setAnimationUrls(QHash<QMovie *, QUrl> &Urls)
{
    urls=&Urls;
}
void chatRoom::on_btnSendFile_clicked()
{
    QString filename=QFileDialog::getOpenFileName(this);
    client->addExtension(transferManager);

    sendFileJob = transferManager->sendFile(ui->nameLabel->text()+"/QXmpp",filename);

    if(sendFileJob!=NULL)
    {
        connect(sendFileJob, SIGNAL(error(QXmppTransferJob::Error)),
                this, SLOT(slotError(QXmppTransferJob::Error)));
        connect(sendFileJob, SIGNAL(finished()),
                this, SLOT(slotFinished()));
        connect(sendFileJob, SIGNAL(progress(qint64,qint64)),
                this, SLOT(slotProgress(qint64,qint64)));
    }
    else
    {
        QMessageBox::warning(this,tr("发送失败!"),tr("请确认对方是否在线,您只能向在线用户发送文件!"),
                             QMessageBox::Ok);
    }
}
void chatRoom::slotFinished()
{
    qDebug() << "Transmission finished";
}
void chatRoom::slotProgress(qint64 done, qint64 total)
{
    qDebug() << "Transmission progress:" << done << "/" << total;
}
void chatRoom::slotError(QXmppTransferJob::Error)
{
    qDebug() << "Transmission failed:" << error;
}
void chatRoom::slotfileReceived(QXmppTransferJob *job)
{
    qDebug()<<"~~~~~~~~~~~~~~~~~~fileReceived~~~~~~~~~~~~~~~~~~~~~~~";
    bool check;
    Q_UNUSED(check);

    qDebug() << "Got transfer request from:" << job->jid();

    this->setJob(job);
}

void chatRoom::on_btnRec_clicked()
{
    QString fileName;
    fileName=QFileDialog::getSaveFileName(this, tr("Save File"),job->fileName());
    if (!fileName.isNull()){
        QFile *file=new QFile(fileName);
        file->open(QIODevice::WriteOnly);
        job->accept(file);
    }else{
        job->abort();

    }
    ui->btnSendFile->hide();

    ui->fileTip->clear();
}
////////////////////////////////////////////////////////////视频编码/////////////////////////////////////////////////////
inline quint8 chatRoom::clamp(qint32 value)
{
    return (uchar) ((value > 255)? 255: ((value < 0)? 0: value));
}

inline quint8 chatRoom::med(quint8 v1, quint8 v2)
{
    return ((v1 + v2) >> 1);
}

inline quint8 chatRoom::rgb2y(quint8 r, quint8 g, quint8 b)
{
    return (( 66  * r + 129 * g + 25  * b + 128) >> 8) + 16;
}

inline quint8 chatRoom::rgb2u(quint8 r, quint8 g, quint8 b)
{
    return ((-38  * r - 74  * g + 112 * b + 128) >> 8) + 128;
}

inline quint8 chatRoom::rgb2v(quint8 r, quint8 g, quint8 b)
{
    return (( 112 * r - 94  * g - 18  * b + 128) >> 8) + 128;
}

inline qint32 chatRoom::y2uv(qint32 y, qint32 width)
{
    return (qint32) (((qint32) (y / width) >> 1) * width / 2.0 + (qint32) ((y % width) / 2.0));
}

inline qint32 chatRoom::yuv2r(quint8 y, quint8 u, quint8 v)
{
    Q_UNUSED(u)

    return ((298 * (y - 16) + 409 * (v - 128) + 128) >> 8);
}

inline qint32 chatRoom::yuv2g(quint8 y, quint8 u, quint8 v)
{
    return ((298 * (y - 16) - 100 * (u - 128) - 208 * (v - 128) + 128) >> 8);
}

inline qint32 chatRoom::yuv2b(quint8 y, quint8 u, quint8 v)
{
    Q_UNUSED(v)

    return ((298 * (y - 16) + 516 * (u - 128) + 128) >> 8);
}
////////////////////////////////////////////////////////////视频编码/////////////////////////////////////////////////////
QXmppVideoFrame chatRoom::imageToVideoFrame(const QImage &image)
{
    QXmppVideoFrame videoFrame(2 * image.width() * image.height(),
                               image.size(),
                               2 * image.width(),
                               QXmppVideoFrame::Format_YUYV);

    const quint8 *iBits = (const quint8 *) image.bits();
    quint8 *oBits = (quint8 *) videoFrame.bits();

    for (qint32 i = 0; i < 3 * image.width() * image.height(); i += 6)
    {
        quint8 r1 = iBits[i];
        quint8 g1 = iBits[i + 1];
        quint8 b1 = iBits[i + 2];

        quint8 r2 = iBits[i + 3];
        quint8 g2 = iBits[i + 4];
        quint8 b2 = iBits[i + 5];

        // y1
        *oBits++ = this->rgb2y(r1, g1, b1);

        // u
        *oBits++ = this->rgb2u(this->med(r1, r2), this->med(g1, g2), this->med(b1, b2));

        // y2
        *oBits++ = this->rgb2y(r2, g2, b2);

        // v
        *oBits++ = this->rgb2v(this->med(r1, r2), this->med(g1, g2), this->med(b1, b2));
    }

    return videoFrame;
}

QImage chatRoom::videoFrameToImage(const QXmppVideoFrame &videoFrame)
{
    QImage image(videoFrame.size(), QImage::Format_RGB888);

    qint32 width = videoFrame.size().width();
    qint32 height = videoFrame.size().height();

    const quint8 *iBits = (const quint8 *) videoFrame.bits();
    quint8 *oBits = (quint8 *) image.bits();
    const quint8 *yp, *up, *vp;

    switch (videoFrame.pixelFormat())
    {
        case QXmppVideoFrame::Format_YUYV:
            for (qint32 i = 0; i < 2 * width * height; i += 4)
            {
                quint8 y1 = iBits[i];
                quint8 u  = iBits[i + 1];
                quint8 y2 = iBits[i + 2];
                quint8 v  = iBits[i + 3];

                // r1
                *oBits++ = this->clamp(this->yuv2r(y1, u, v));

                // g1
                *oBits++ = this->clamp(this->yuv2g(y1, u, v));

                // b1
                *oBits++ = this->clamp(this->yuv2b(y1, u, v));

                // r2
                *oBits++ = this->clamp(this->yuv2r(y2, u, v));

                // g2
                *oBits++ = this->clamp(this->yuv2g(y2, u, v));

                // b2
                *oBits++ = this->clamp(this->yuv2b(y2, u, v));
            }
        break;

        case QXmppVideoFrame::Format_YUV420P:
            yp = iBits;
            up = yp + width * height;
            vp = up + width * height / 4;

            for (qint32 i = 0; i < width * height; i++)
            {
                quint8 y = yp[i];
                quint8 u = up[this->y2uv(i, width)];
                quint8 v = vp[this->y2uv(i, width)];

                // r
                *oBits++ = this->clamp(this->yuv2r(y, u, v));

                // g
                *oBits++ = this->clamp(this->yuv2g(y, u, v));

                // b
                *oBits++ = this->clamp(this->yuv2b(y, u, v));
            }
        break;

        default:
        break;
    }

    return image;
}
void chatRoom::audioModeChanged(QIODevice::OpenMode mode)
{
    QXmppRtpAudioChannel *channel = this->m_call->audioChannel();

    // prepare audio format
    QAudioFormat format;

    format.setFrequency(channel->payloadType().clockrate());
    format.setChannels(channel->payloadType().channels());
    format.setSampleSize(16);
    format.setCodec("audio/pcm");
    format.setByteOrder(QAudioFormat::LittleEndian);
    format.setSampleType(QAudioFormat::SignedInt);

    // the size in bytes of the audio buffers to/from sound devices
    // 160 ms seems to be the minimum to work consistently on Linux/Mac/Windows
    const int bufferSize = (format.frequency() * format.channels() * (format.sampleSize() / 8) * 160) / 1000;
    qDebug() << "bufferSize" << bufferSize;

    if (mode & QIODevice::ReadOnly)
    {
        // initialise audio output
        QAudioOutput *audioOutput = new QAudioOutput(format, this);

        audioOutput->setBufferSize(bufferSize);
        audioOutput->start(channel);
    }

    if (mode & QIODevice::WriteOnly)
    {
        // initialise audio input
        QAudioInput *audioInput = new QAudioInput(format, this);

        audioInput->setBufferSize(bufferSize);
        audioInput->start(channel);
    }
}

void chatRoom::callConnected()
{
    // Only caller or receiver can start a video call, but not both
    // at same time.
    if (this->m_call->direction() == QXmppCall::OutgoingDirection)
        this->m_call->startVideo();

    //this->stackedWidget->setCurrentIndex(1);
}

void chatRoom::callFinished()
{
    if (this->m_call->direction() == QXmppCall::OutgoingDirection)
        this->m_call->stopVideo();

    //this->stackedWidget->setCurrentIndex(0);
    //this->stbStatusBar->showMessage("");
}

void chatRoom::callReceived(QXmppCall *call)
{
    qDebug()<<"..........call received";
    if (QMessageBox::question(this,
                              "Accept Call?",
                              "Accept Call from " + call->jid() + "?",
                              QMessageBox::Ok | QMessageBox::Cancel,
                              QMessageBox::Cancel) == QMessageBox::Ok)
    {

        this->m_call = call;
        QString m_str =call->jid();
        QStringList m_strlist = m_str.split('/');
        m_str = m_strlist.first();
        //m_chatRoom = m_roomChatDlgsList[m_str];
        QObject::connect(this->m_call,
                         SIGNAL(connected()),
                         this,
                         SLOT(callConnected()));

        QObject::connect(this->m_call,
                         SIGNAL(finished()),
                         this,
                         SLOT(callFinished()));

        QObject::connect(this->m_call,
                         SIGNAL(stateChanged(QXmppCall::State)),
                         this,
                         SLOT(stateChanged(QXmppCall::State)));

        QObject::connect(this->m_call,
                         SIGNAL(audioModeChanged(QIODevice::OpenMode)),
                         this,
                         SLOT(audioModeChanged(QIODevice::OpenMode)));

        QObject::connect(this->m_call,
                         SIGNAL(videoModeChanged(QIODevice::OpenMode)),
                         this,
                         SLOT(videoModeChanged(QIODevice::OpenMode)));

        // Accept call.
        call->accept();
    }
    else
        // Cancel call.
        call->hangup();
}

void chatRoom::callStarted(QXmppCall *call)
{
    this->m_call = call;
}
void chatRoom::presenceChanged(const QString &bareJid, const QString &resource)
{
    // Get contacts list.
   /* QStringList roster = this->client.rosterManager().getRosterBareJids();

    if (!roster.contains(bareJid))
        return;

    QXmppPresence presence = this->client.rosterManager().getPresence(bareJid, resource);
    QString jid = bareJid + "/" + resource;

    // Only show connected friends.
    if (presence.status().type() == QXmppPresence::Status::Online)
    {
        if (!this->m_roster.contains(jid))
            this->m_roster << jid;
    }
    else
    {
        if (this->m_roster.contains(jid))
            this->m_roster.removeAll(jid);
    }

    this->lswRoster->clear();
    this->lswRoster->addItems(this->m_roster);*/
}

void chatRoom::readFrames()
{
    foreach (QXmppVideoFrame frame, this->m_call->videoChannel()->readFrames())
    {
        if (!frame.isValid())
            continue;

        const QImage image = this->videoFrameToImage(frame);
        qDebug("height:%d,width:%d",image.height(),image.width());
        m_chatRoom->setInComingImage(image);
        //ui->incomingLabel->setPixmap(QPixmap::fromImage(image));
    }
}

void chatRoom::stateChanged(QXmppCall::State state)
{
    switch (state)
    {
       /* case QXmppCall::ConnectingState:
            this->stbStatusBar->showMessage("Connecting Call");
        break;

        case QXmppCall::ActiveState:
            this->stbStatusBar->showMessage("Active Call");
        break;

        case QXmppCall::DisconnectingState:
            this->stbStatusBar->showMessage("Disconnecting Call");
        break;

        case QXmppCall::FinishedState:
            this->stbStatusBar->showMessage("Finished Call");
        break;

        default:
            this->stbStatusBar->showMessage("");
        break;*/
    }
}

void chatRoom::videoModeChanged(QIODevice::OpenMode mode)
{
    if (mode & QIODevice::ReadOnly)
    {
        QXmppVideoFormat videoFormat;

        // Open the webcam.
        this->m_webcam.open(0);

        videoFormat.setFrameRate(15);
        videoFormat.setFrameSize(QSize(320, 240));

        videoFormat.setPixelFormat(QXmppVideoFrame::Format_YUYV);

        // Change default Encoder Format.
        this->m_call->videoChannel()->setEncoderFormat(videoFormat);

        if (!this->m_timer.isActive())
        {
            QObject::connect(&this->m_timer,
                             SIGNAL(timeout()),
                             this,
                             SLOT(writeFrame()));

            QObject::connect(&this->m_timer,
                             SIGNAL(timeout()),
                             this,
                             SLOT(readFrames()));

            this->m_timer.start();
        }
    }
    else if (mode == QIODevice::NotOpen)
    {
        this->m_webcam.release();

        QObject::disconnect(&this->m_timer,
                            SIGNAL(timeout()),
                            this,
                            SLOT(writeFrame()));

        QObject::disconnect(&this->m_timer,
                            SIGNAL(timeout()),
                            this,
                            SLOT(readFrames()));

        this->m_timer.stop();
    }
}

void chatRoom::writeFrame()
{
    if (!this->m_call)
        return;

    cv::Mat mat;

    this->m_webcam >> mat;

    QImage imageBGR((const uchar *)mat.data, mat.cols, mat.rows, QImage::Format_RGB888);

    // OpenCV swaps Red and Blue components.
    QImage imageRGB = imageBGR.rgbSwapped();

    QSize encoderFrameSize = this->m_call->videoChannel()->encoderFormat().frameSize();

    if (imageRGB.size() != encoderFrameSize)
        imageRGB = imageRGB.scaled(encoderFrameSize);

    const QXmppVideoFrame frame = this->imageToVideoFrame(imageRGB);

    this->m_call->videoChannel()->writeFrame(frame);


    m_chatRoom->setOutComingImage(imageRGB);;
    //ui->outcomingLabel->setPixmap(QPixmap::fromImage(imageRGB));
}
void chatRoom::setOutComingImage(const QImage &image)
{
    ui->outcomingLabel->setPixmap(QPixmap::fromImage(image));
}
void chatRoom::setInComingImage(const QImage &image)
{
    ui->incomingLabel->setPixmap(QPixmap::fromImage(image));
}

void chatRoom::setChatRoomList(QMap<QString,chatRoom*> &roomChatDlgsList)
{
    m_roomChatDlgsList.unite(roomChatDlgsList);
}

I have two QWidget for videocall!
the QWidget is like this
masterchatroom
the left is chatroom,the right is master
how to use your code in my project!
I use your code,but when I have a firend,it's work well!
but when I have more than the a firend,it can rec the message.
but no the feedback!
my sendfile is have same problem!
My room code is


#include "chatroom.h"
#include "ui_chatroom.h"
#include<QXmppRtpChannel.h>
#include <QAudioInput>
#include <QAudioOutput>
chatRoom::chatRoom(QWidget *parent) :
    skinModel(parent),
    ui(new Ui::chatRoom)
{
    ui->setupUi(this);
    setAttribute(Qt::WA_TranslucentBackground, true);
    this->setWindowFlags(Qt::FramelessWindowHint);

    sendFileJob=NULL;
    job=NULL;

    transferManager = new QXmppTransferManager;
    transferManager->setProxy("proxy.xiaozhen");
    transferManager->setSupportedMethods(QXmppTransferJob::SocksMethod);


    //窗口指针初始化
    fulscW = new fullScreenWidget();
    qcD = new QColorDialog(NULL);
    ew = new EmotionWidget(NULL);
    setWindowTitle(QString::fromLocal8Bit("聊天窗口"));

    initButton();
    initComBox();
    // 初始化
    cam     = NULL;
    timer   = new QTimer(this);
    imag    = new QImage();
    textFlag = false;
    ui->textWidget->hide();
    ui->btnRec->hide();

    /*信号和槽*/
    connect(ew,SIGNAL(clieckTable(int,int)),this,SLOT(gifText(int,int)));

    connect(this,SIGNAL(setPixmap(QPixmap)),fulscW,SLOT(loadBackgroundPixmap(QPixmap)));
    connect(transferManager,SIGNAL(fileReceived(QXmppTransferJob*)),this,SLOT(slotfileReceived(QXmppTransferJob*)));
    connect(&this->m_timer,SIGNAL(timeout()),this,SLOT(writeFrame()));

    this->m_call = NULL;
    this->m_timer.setInterval(1);
    isFirstFlag = true;
}

chatRoom::~chatRoom()
{
    //cvReleaseCapture(&cam);//释放内存;
    delete ui;
}
//打开摄像头
void chatRoom::on_btnVideo_clicked()
{
    if (ui->nameLabel->text().isEmpty())
        return;

    // Call to contact as otherusername@server.org/resource
    //hk520580@xiaozhen/QXmpp
    QString str = ui->nameLabel->text()+"/QXmpp";
    m_chatRoom = m_roomChatDlgsList[ui->nameLabel->text()];
    this->m_call = m_chatRoom->m_callManager.call(str);
    QObject::connect(this->m_call,
                     SIGNAL(connected()),
                     this,
                     SLOT(callConnected()));

    QObject::connect(this->m_call,
                     SIGNAL(finished()),
                     this,
                     SLOT(callFinished()));

    QObject::connect(this->m_call,
                     SIGNAL(audioModeChanged(QIODevice::OpenMode)),
                     this,
                     SLOT(audioModeChanged(QIODevice::OpenMode)));

    QObject::connect(this->m_call,
                     SIGNAL(videoModeChanged(QIODevice::OpenMode)),
                     this,
                     SLOT(videoModeChanged(QIODevice::OpenMode)));
}
void chatRoom::setJob(QXmppTransferJob *Job)
{
    job=Job;
    ui->btnRec->show();
    ui->fileTip->setText(ui->nameLabel->text()+QString::fromLocal8Bit("向您发送了文件:")+job->fileName());
    connect(job, SIGNAL(error(QXmppTransferJob::Error)),
            this, SLOT(slotError(QXmppTransferJob::Error)));
    connect(job, SIGNAL(finished()),
            this, SLOT(slotFinished()));

    connect(job, SIGNAL(progress(qint64,qint64)),
            this, SLOT(slotProgress(qint64,qint64)));
}
//显示当前帧
void chatRoom::showImage()
{
    frame = cvQueryFrame(cam);// 从摄像头中抓取并返回每一帧
    // 将抓取到的帧,转换为QImage格式。QImage::Format_RGB888不同的摄像头用不同的格式。
    //int imageWidth = ui->videoLabel->width();
    //int imageHeigth = ui->videoLabel->height();
    QImage image = QImage((const uchar*)frame->imageData, frame->width, frame->height, QImage::Format_RGB888).rgbSwapped();
    //QXmppRtpChannel videoSend;

    ui->outcomingLabel->setPixmap(QPixmap::fromImage(image));  // 将图片显示到label上
}

void chatRoom::on_btnStop_clicked()
{

}

void chatRoom::on_btnClose_clicked()
{
    this->close();
    if (this->m_call)
    {
        // Hangup call.
        this->m_call->hangup();
        QObject::disconnect(this->m_call,
                            SIGNAL(connected()),
                            this,
                            SLOT(callConnected()));

        QObject::disconnect(this->m_call,
                            SIGNAL(finished()),
                            this,
                            SLOT(callFinished()));

        QObject::disconnect(this->m_call,
                            SIGNAL(stateChanged(QXmppCall::State)),
                            this,
                            SLOT(stateChanged(QXmppCall::State)));

        QObject::disconnect(this->m_call,
                            SIGNAL(audioModeChanged(QIODevice::OpenMode)),
                            m_chatRoom,
                            SLOT(audioModeChanged(QIODevice::OpenMode)));

        QObject::disconnect(this->m_call,
                            SIGNAL(videoModeChanged(QIODevice::OpenMode)),
                            this,
                            SLOT(videoModeChanged(QIODevice::OpenMode)));

        this->m_call = NULL;
    }
}

void chatRoom::on_btnMin_clicked()
{
    this->showMinimized();
}
void chatRoom::setText(QString str)
{
    ui->nameLabel->setText(str);
}
QString chatRoom::getText()
{
    return ui->nameLabel->text();
}
void chatRoom::setImage(QPixmap image)
{
    ui->imageLabel->setPixmap(image);
}
void chatRoom::initButton()
{
    //bottom
    ui->btnText->setImage(":/loginImage/loginImage/MidToolbar/aio_quickbar_font.png");
    ui->btnEmotion->setImage(":/loginImage/loginImage/MidToolbar/aio_quickbar_face.png");
    ui->btnRichface->setImage(":/loginImage/loginImage/MidToolbar/aio_quickbar_richface.png");
    ui->btnTwitter->setImage(":/loginImage/loginImage/MidToolbar/aio_quickbar_twitter.png");
    ui->btnInputassist->setImage(":/loginImage/loginImage/MidToolbar/aio_quickbar_inputassist.png");
    ui->btnSendpic->setImage(":/loginImage/loginImage/MidToolbar/aio_quickbar_sendpic.png");
    ui->btnSendFile->setImage(":/loginImage/loginImage/MidToolbar/aio_quickbar_more.png");
    ui->btnCut->setImage(":/loginImage/loginImage/MidToolbar/aio_quickbar_cut.png");
    ui->btnRegister->setImage(":/loginImage/loginImage/MidToolbar/aio_quickbar_register.png");
    //top
    ui->btnVideo->setImage(":/loginImage/loginImage/chatRoomTop/video.png");
    ui->btnVoice->setImage(":/loginImage/loginImage/chatRoomTop/b9m0_0.png");
    ui->btnAdd->setImage(":/loginImage/loginImage/chatRoomTop/b8m0_0.png");
    ui->btnApp->setImage(":/loginImage/loginImage/chatRoomTop/aio_toobar_app.png");
    //text
    ui->btnFont->setImage(":/loginImage/loginImage/MidToolbar/MidToolbarExtUp_Font/aio_quickbar_sysfont_tab_button.png");
    ui->btnBlod->setImage(":/loginImage/loginImage/MidToolbar/MidToolbarExtUp_Font/Bold.png");
    ui->btnItalic->setImage(":/loginImage/loginImage/MidToolbar/MidToolbarExtUp_Font/Italic.png");
    ui->btnUnderLine->setImage(":/loginImage/loginImage/MidToolbar/MidToolbarExtUp_Font/underline.png");
    ui->btnColor->setImage(":/loginImage/loginImage/MidToolbar/MidToolbarExtUp_Font/color.png");
}
void chatRoom::initComBox()
{
    QString temp;
    for(int i = 1;i<100;i++)
    {
        temp = temp.number(i);
        ui->comSize->addItem(temp);
        qDebug()<<temp;
    }
}

void chatRoom::on_btnCut_clicked()
{
    QPixmap pixmap = fulscW->getFullScreenPixmap();
    fulscW->show();
    emit setPixmap(pixmap); //发送信号,使用当前的屏幕的图片作背景图片
}

void chatRoom::on_btnText_clicked()
{
    if(!textFlag)
    {
        ui->textWidget->show();
        textFlag = true;
    }
    else
    {
        ui->textWidget->hide();
        textFlag = false;
    }
}

void chatRoom::on_btnColor_clicked()
{
    qcD->exec() ;
}

void chatRoom::on_btnSend_clicked()
{
    sendMessage();
}
void chatRoom::sendMessage()
{
    QString message=ui->messageEdit->toHtml();
    // QString message = ui->messageEdit->toPlainText();
    qDebug()<<"message"<<message;
    if(ui->messageEdit->toPlainText().isEmpty()){
        return;
    }
    QXmppMessage msg("",ui->nameLabel->text(),message);   /* from , to , message body */
    msg.setStamp(QDateTime::currentDateTime());
    client->sendPacket(msg);
    QString msgText("<font color='blue'>"+QString::fromLocal8Bit("我")+" </font><font color='green'>"+
                    QDateTime::currentDateTime().toString("yyyy/MM/dd hh:mm:ss")+
                    "</font><font color='black'>"+
                    message+"</font>");
    ui->announcement->append(msgText);
    ui->messageEdit->clear();
}
void chatRoom::MessageReceive(const QXmppMessage &message)
{
    QDateTime dt=message.stamp().toLocalTime();
    QString msgText("<font color='blue'>"+ui->nameLabel->text()+" </font>"+
                    "<font color='green'>"+dt.toString("yyyy/MM/dd hh:mm:ss")+
                    "</font><font color='black'>"+message.body()+
                    "</font>");
    ui->announcement->append(msgText);

    GifTextEdit *editChange = new GifTextEdit;
    editChange->hide();
    editChange->append(message.body());
    QString str = editChange->toPlainText();
    qDebug()<<str;
}
void chatRoom::setClient(QXmppClient *client)
{
    this->client = client;

    // Add the extention for Jingle (Voice/Video calls).
    this->client->addExtension(&this->m_callManager);
    client->clientPresence().setType(QXmppPresence::Available);
    connect(&this->m_callManager,SIGNAL(callReceived(QXmppCall *)),this,SLOT(callReceived(QXmppCall *)));
    connect(&this->m_callManager,SIGNAL(callStarted(QXmppCall *)),this,SLOT(callStarted(QXmppCall *)));
}

void chatRoom::on_btnEmotion_clicked()
{
    QPoint GlobalPoint(ui->btnEmotion->mapToGlobal(QPoint(0, 0)));//获取控件在窗体中的坐标
    int x = GlobalPoint.x();
    int y = GlobalPoint.y();
    ew->setGeometry(x,y-ew->height(),ew->width(),ew->height());
    ew->show();
}
void chatRoom::gifText(int row,int column)
{
    QString str = QString::number(row*7+column);
    ui->messageEdit->insertHtml("<img src='"+str+"'/>"); // 设置索引
    ui->messageEdit->addAnimation(QUrl(str),":/image/xy2qq_3/emo_"+str+".gif");  //添加一个动画.
}

void chatRoom::setAnimationUrls(QHash<QMovie *, QUrl> &Urls)
{
    urls=&Urls;
}
void chatRoom::on_btnSendFile_clicked()
{
    QString filename=QFileDialog::getOpenFileName(this);
    client->addExtension(transferManager);

    sendFileJob = transferManager->sendFile(ui->nameLabel->text()+"/QXmpp",filename);

    if(sendFileJob!=NULL)
    {
        connect(sendFileJob, SIGNAL(error(QXmppTransferJob::Error)),
                this, SLOT(slotError(QXmppTransferJob::Error)));
        connect(sendFileJob, SIGNAL(finished()),
                this, SLOT(slotFinished()));
        connect(sendFileJob, SIGNAL(progress(qint64,qint64)),
                this, SLOT(slotProgress(qint64,qint64)));
    }
    else
    {
        QMessageBox::warning(this,tr("发送失败!"),tr("请确认对方是否在线,您只能向在线用户发送文件!"),
                             QMessageBox::Ok);
    }
}
void chatRoom::slotFinished()
{
    qDebug() << "Transmission finished";
}
void chatRoom::slotProgress(qint64 done, qint64 total)
{
    qDebug() << "Transmission progress:" << done << "/" << total;
}
void chatRoom::slotError(QXmppTransferJob::Error)
{
    qDebug() << "Transmission failed:" << error;
}
void chatRoom::slotfileReceived(QXmppTransferJob *job)
{
    qDebug()<<"~~~~~~~~~~~~~~~~~~fileReceived~~~~~~~~~~~~~~~~~~~~~~~";
    bool check;
    Q_UNUSED(check);

    qDebug() << "Got transfer request from:" << job->jid();

    this->setJob(job);
}

void chatRoom::on_btnRec_clicked()
{
    QString fileName;
    fileName=QFileDialog::getSaveFileName(this, tr("Save File"),job->fileName());
    if (!fileName.isNull()){
        QFile *file=new QFile(fileName);
        file->open(QIODevice::WriteOnly);
        job->accept(file);
    }else{
        job->abort();

    }
    ui->btnSendFile->hide();

    ui->fileTip->clear();
}
////////////////////////////////////////////////////////////视频编码/////////////////////////////////////////////////////
inline quint8 chatRoom::clamp(qint32 value)
{
    return (uchar) ((value > 255)? 255: ((value < 0)? 0: value));
}

inline quint8 chatRoom::med(quint8 v1, quint8 v2)
{
    return ((v1 + v2) >> 1);
}

inline quint8 chatRoom::rgb2y(quint8 r, quint8 g, quint8 b)
{
    return (( 66  * r + 129 * g + 25  * b + 128) >> 8) + 16;
}

inline quint8 chatRoom::rgb2u(quint8 r, quint8 g, quint8 b)
{
    return ((-38  * r - 74  * g + 112 * b + 128) >> 8) + 128;
}

inline quint8 chatRoom::rgb2v(quint8 r, quint8 g, quint8 b)
{
    return (( 112 * r - 94  * g - 18  * b + 128) >> 8) + 128;
}

inline qint32 chatRoom::y2uv(qint32 y, qint32 width)
{
    return (qint32) (((qint32) (y / width) >> 1) * width / 2.0 + (qint32) ((y % width) / 2.0));
}

inline qint32 chatRoom::yuv2r(quint8 y, quint8 u, quint8 v)
{
    Q_UNUSED(u)

    return ((298 * (y - 16) + 409 * (v - 128) + 128) >> 8);
}

inline qint32 chatRoom::yuv2g(quint8 y, quint8 u, quint8 v)
{
    return ((298 * (y - 16) - 100 * (u - 128) - 208 * (v - 128) + 128) >> 8);
}

inline qint32 chatRoom::yuv2b(quint8 y, quint8 u, quint8 v)
{
    Q_UNUSED(v)

    return ((298 * (y - 16) + 516 * (u - 128) + 128) >> 8);
}
////////////////////////////////////////////////////////////视频编码/////////////////////////////////////////////////////
QXmppVideoFrame chatRoom::imageToVideoFrame(const QImage &image)
{
    QXmppVideoFrame videoFrame(2 * image.width() * image.height(),
                               image.size(),
                               2 * image.width(),
                               QXmppVideoFrame::Format_YUYV);

    const quint8 *iBits = (const quint8 *) image.bits();
    quint8 *oBits = (quint8 *) videoFrame.bits();

    for (qint32 i = 0; i < 3 * image.width() * image.height(); i += 6)
    {
        quint8 r1 = iBits[i];
        quint8 g1 = iBits[i + 1];
        quint8 b1 = iBits[i + 2];

        quint8 r2 = iBits[i + 3];
        quint8 g2 = iBits[i + 4];
        quint8 b2 = iBits[i + 5];

        // y1
        *oBits++ = this->rgb2y(r1, g1, b1);

        // u
        *oBits++ = this->rgb2u(this->med(r1, r2), this->med(g1, g2), this->med(b1, b2));

        // y2
        *oBits++ = this->rgb2y(r2, g2, b2);

        // v
        *oBits++ = this->rgb2v(this->med(r1, r2), this->med(g1, g2), this->med(b1, b2));
    }

    return videoFrame;
}

QImage chatRoom::videoFrameToImage(const QXmppVideoFrame &videoFrame)
{
    QImage image(videoFrame.size(), QImage::Format_RGB888);

    qint32 width = videoFrame.size().width();
    qint32 height = videoFrame.size().height();

    const quint8 *iBits = (const quint8 *) videoFrame.bits();
    quint8 *oBits = (quint8 *) image.bits();
    const quint8 *yp, *up, *vp;

    switch (videoFrame.pixelFormat())
    {
        case QXmppVideoFrame::Format_YUYV:
            for (qint32 i = 0; i < 2 * width * height; i += 4)
            {
                quint8 y1 = iBits[i];
                quint8 u  = iBits[i + 1];
                quint8 y2 = iBits[i + 2];
                quint8 v  = iBits[i + 3];

                // r1
                *oBits++ = this->clamp(this->yuv2r(y1, u, v));

                // g1
                *oBits++ = this->clamp(this->yuv2g(y1, u, v));

                // b1
                *oBits++ = this->clamp(this->yuv2b(y1, u, v));

                // r2
                *oBits++ = this->clamp(this->yuv2r(y2, u, v));

                // g2
                *oBits++ = this->clamp(this->yuv2g(y2, u, v));

                // b2
                *oBits++ = this->clamp(this->yuv2b(y2, u, v));
            }
        break;

        case QXmppVideoFrame::Format_YUV420P:
            yp = iBits;
            up = yp + width * height;
            vp = up + width * height / 4;

            for (qint32 i = 0; i < width * height; i++)
            {
                quint8 y = yp[i];
                quint8 u = up[this->y2uv(i, width)];
                quint8 v = vp[this->y2uv(i, width)];

                // r
                *oBits++ = this->clamp(this->yuv2r(y, u, v));

                // g
                *oBits++ = this->clamp(this->yuv2g(y, u, v));

                // b
                *oBits++ = this->clamp(this->yuv2b(y, u, v));
            }
        break;

        default:
        break;
    }

    return image;
}
void chatRoom::audioModeChanged(QIODevice::OpenMode mode)
{
    QXmppRtpAudioChannel *channel = this->m_call->audioChannel();

    // prepare audio format
    QAudioFormat format;

    format.setFrequency(channel->payloadType().clockrate());
    format.setChannels(channel->payloadType().channels());
    format.setSampleSize(16);
    format.setCodec("audio/pcm");
    format.setByteOrder(QAudioFormat::LittleEndian);
    format.setSampleType(QAudioFormat::SignedInt);

    // the size in bytes of the audio buffers to/from sound devices
    // 160 ms seems to be the minimum to work consistently on Linux/Mac/Windows
    const int bufferSize = (format.frequency() * format.channels() * (format.sampleSize() / 8) * 160) / 1000;
    qDebug() << "bufferSize" << bufferSize;

    if (mode & QIODevice::ReadOnly)
    {
        // initialise audio output
        QAudioOutput *audioOutput = new QAudioOutput(format, this);

        audioOutput->setBufferSize(bufferSize);
        audioOutput->start(channel);
    }

    if (mode & QIODevice::WriteOnly)
    {
        // initialise audio input
        QAudioInput *audioInput = new QAudioInput(format, this);

        audioInput->setBufferSize(bufferSize);
        audioInput->start(channel);
    }
}

void chatRoom::callConnected()
{
    // Only caller or receiver can start a video call, but not both
    // at same time.
    if (this->m_call->direction() == QXmppCall::OutgoingDirection)
        this->m_call->startVideo();

    //this->stackedWidget->setCurrentIndex(1);
}

void chatRoom::callFinished()
{
    if (this->m_call->direction() == QXmppCall::OutgoingDirection)
        this->m_call->stopVideo();

    //this->stackedWidget->setCurrentIndex(0);
    //this->stbStatusBar->showMessage("");
}

void chatRoom::callReceived(QXmppCall *call)
{
    qDebug()<<"..........call received";
    if (QMessageBox::question(this,
                              "Accept Call?",
                              "Accept Call from " + call->jid() + "?",
                              QMessageBox::Ok | QMessageBox::Cancel,
                              QMessageBox::Cancel) == QMessageBox::Ok)
    {

        this->m_call = call;
        QString m_str =call->jid();
        QStringList m_strlist = m_str.split('/');
        m_str = m_strlist.first();
        //m_chatRoom = m_roomChatDlgsList[m_str];
        QObject::connect(this->m_call,
                         SIGNAL(connected()),
                         this,
                         SLOT(callConnected()));

        QObject::connect(this->m_call,
                         SIGNAL(finished()),
                         this,
                         SLOT(callFinished()));

        QObject::connect(this->m_call,
                         SIGNAL(stateChanged(QXmppCall::State)),
                         this,
                         SLOT(stateChanged(QXmppCall::State)));

        QObject::connect(this->m_call,
                         SIGNAL(audioModeChanged(QIODevice::OpenMode)),
                         this,
                         SLOT(audioModeChanged(QIODevice::OpenMode)));

        QObject::connect(this->m_call,
                         SIGNAL(videoModeChanged(QIODevice::OpenMode)),
                         this,
                         SLOT(videoModeChanged(QIODevice::OpenMode)));

        // Accept call.
        call->accept();
    }
    else
        // Cancel call.
        call->hangup();
}

void chatRoom::callStarted(QXmppCall *call)
{
    this->m_call = call;
}
void chatRoom::presenceChanged(const QString &bareJid, const QString &resource)
{
    // Get contacts list.
   /* QStringList roster = this->client.rosterManager().getRosterBareJids();

    if (!roster.contains(bareJid))
        return;

    QXmppPresence presence = this->client.rosterManager().getPresence(bareJid, resource);
    QString jid = bareJid + "/" + resource;

    // Only show connected friends.
    if (presence.status().type() == QXmppPresence::Status::Online)
    {
        if (!this->m_roster.contains(jid))
            this->m_roster << jid;
    }
    else
    {
        if (this->m_roster.contains(jid))
            this->m_roster.removeAll(jid);
    }

    this->lswRoster->clear();
    this->lswRoster->addItems(this->m_roster);*/
}

void chatRoom::readFrames()
{
    foreach (QXmppVideoFrame frame, this->m_call->videoChannel()->readFrames())
    {
        if (!frame.isValid())
            continue;

        const QImage image = this->videoFrameToImage(frame);
        qDebug("height:%d,width:%d",image.height(),image.width());
        m_chatRoom->setInComingImage(image);
        //ui->incomingLabel->setPixmap(QPixmap::fromImage(image));
    }
}

void chatRoom::stateChanged(QXmppCall::State state)
{
    switch (state)
    {
       /* case QXmppCall::ConnectingState:
            this->stbStatusBar->showMessage("Connecting Call");
        break;

        case QXmppCall::ActiveState:
            this->stbStatusBar->showMessage("Active Call");
        break;

        case QXmppCall::DisconnectingState:
            this->stbStatusBar->showMessage("Disconnecting Call");
        break;

        case QXmppCall::FinishedState:
            this->stbStatusBar->showMessage("Finished Call");
        break;

        default:
            this->stbStatusBar->showMessage("");
        break;*/
    }
}

void chatRoom::videoModeChanged(QIODevice::OpenMode mode)
{
    if (mode & QIODevice::ReadOnly)
    {
        QXmppVideoFormat videoFormat;

        // Open the webcam.
        this->m_webcam.open(0);

        videoFormat.setFrameRate(15);
        videoFormat.setFrameSize(QSize(320, 240));

        videoFormat.setPixelFormat(QXmppVideoFrame::Format_YUYV);

        // Change default Encoder Format.
        this->m_call->videoChannel()->setEncoderFormat(videoFormat);

        if (!this->m_timer.isActive())
        {
            QObject::connect(&this->m_timer,
                             SIGNAL(timeout()),
                             this,
                             SLOT(writeFrame()));

            QObject::connect(&this->m_timer,
                             SIGNAL(timeout()),
                             this,
                             SLOT(readFrames()));

            this->m_timer.start();
        }
    }
    else if (mode == QIODevice::NotOpen)
    {
        this->m_webcam.release();

        QObject::disconnect(&this->m_timer,
                            SIGNAL(timeout()),
                            this,
                            SLOT(writeFrame()));

        QObject::disconnect(&this->m_timer,
                            SIGNAL(timeout()),
                            this,
                            SLOT(readFrames()));

        this->m_timer.stop();
    }
}

void chatRoom::writeFrame()
{
    if (!this->m_call)
        return;

    cv::Mat mat;

    this->m_webcam >> mat;

    QImage imageBGR((const uchar *)mat.data, mat.cols, mat.rows, QImage::Format_RGB888);

    // OpenCV swaps Red and Blue components.
    QImage imageRGB = imageBGR.rgbSwapped();

    QSize encoderFrameSize = this->m_call->videoChannel()->encoderFormat().frameSize();

    if (imageRGB.size() != encoderFrameSize)
        imageRGB = imageRGB.scaled(encoderFrameSize);

    const QXmppVideoFrame frame = this->imageToVideoFrame(imageRGB);

    this->m_call->videoChannel()->writeFrame(frame);


    m_chatRoom->setOutComingImage(imageRGB);;
    //ui->outcomingLabel->setPixmap(QPixmap::fromImage(imageRGB));
}
void chatRoom::setOutComingImage(const QImage &image)
{
    ui->outcomingLabel->setPixmap(QPixmap::fromImage(image));
}
void chatRoom::setInComingImage(const QImage &image)
{
    ui->incomingLabel->setPixmap(QPixmap::fromImage(image));
}

void chatRoom::setChatRoomList(QMap<QString,chatRoom*> &roomChatDlgsList)
{
    m_roomChatDlgsList.unite(roomChatDlgsList);
}

@hipersayanX

This comment has been minimized.

Show comment
Hide comment
@hipersayanX

hipersayanX May 12, 2014

Owner

Sorry for not answering quickly, the last weeks I have been very busy with my own projects.
I remember that in the last replay you have a problem similar to this, did you solved that?
About multiuser chat rooms and file transfer, I did not any investment on that topics. Maybe you can ask that in the QXmpp github page.

Owner

hipersayanX commented May 12, 2014

Sorry for not answering quickly, the last weeks I have been very busy with my own projects.
I remember that in the last replay you have a problem similar to this, did you solved that?
About multiuser chat rooms and file transfer, I did not any investment on that topics. Maybe you can ask that in the QXmpp github page.

@hk520580

This comment has been minimized.

Show comment
Hide comment
@hk520580

hk520580 May 13, 2014

thank you!but your project is:Carnival LiveCam
how to use the QObject::connect?
It wirte the master or chatroom ?

connect(&this->m_callManager,SIGNAL(callReceived(QXmppCall *)),this,SLOT(callReceived(QXmppCall *)));
    connect(&this->m_callManager,SIGNAL(callStarted(QXmppCall *)),this,SLOT(callStarted(QXmppCall *)));

thank you!but your project is:Carnival LiveCam
how to use the QObject::connect?
It wirte the master or chatroom ?

connect(&this->m_callManager,SIGNAL(callReceived(QXmppCall *)),this,SLOT(callReceived(QXmppCall *)));
    connect(&this->m_callManager,SIGNAL(callStarted(QXmppCall *)),this,SLOT(callStarted(QXmppCall *)));
@hk520580

This comment has been minimized.

Show comment
Hide comment
@hk520580

hk520580 May 13, 2014

sorry,I should use it into the masterWidget same the sendMessag.It can work well!
the other problem is same!
thank you very much!

sorry,I should use it into the masterWidget same the sendMessag.It can work well!
the other problem is same!
thank you very much!

@hipersayanX

This comment has been minimized.

Show comment
Hide comment
@hipersayanX

hipersayanX Jul 18, 2014

Owner

Hi, here are the compiling instructions of QXmpp for Windows. That must solve the problem.

Owner

hipersayanX commented Jul 18, 2014

Hi, here are the compiling instructions of QXmpp for Windows. That must solve the problem.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment