Closed hk520580 closed 10 years ago
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?
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?
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.
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 :
the same problem is in the qxmpp issue: https://code.google.com/p/qxmpp/issues/detail?id=163&can=1&start=100
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).
thank you! I try it.
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!
So, this is showing something like this in the Aplication Output of QtCreator, yes or no?:
frame captured: QSize(640, 480)
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();
}
}
when I call the audiomodechange can
I think it doesn't into the videomodechange! I lost some setting?
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);
2) Give me the full log when you do the call (be careful not to leak any user name or password).
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"/>
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.
5) Then, link QXmpp to VoipTest defining INCLUDEPATH and LIBS as before, and compile.
thank you very much!
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!
I use the qxmpp default it work well!thank you!
videoFormat.setFrameRate(15);
videoFormat.setFrameSize(QSize(320, 240));
I have two QWidget for videocall! the QWidget is like this 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);
}
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.
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 *)));
sorry,I should use it into the masterWidget same the sendMessag.It can work well! the other problem is same! thank you very much!
Hi, here are the compiling instructions of QXmpp for Windows. That must solve the problem.
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:
thank you very much!