Closed GoogleCodeExporter closed 9 years ago
downloadDocuments() will download all documents (resource-lists, rls-services,
...) while getDocument(String) will download a single document. Both methods
will return immediately as they are asynchronous. The data will be received in
the XCAP callback function onEvent(XcapEvent).
Original comment by boss...@yahoo.fr
on 8 Dec 2010 at 7:04
I can capture the message package by using Wireshark.For testing Xcap,I change
"pravite void downloadDocuments()" to "public void downloadDocuments()" to easy
to call it.When I click "Sign In" button,I call downloadDocuments().I think I
can capture some Xcap message.In fact,however,no Xcap message are captured by
Wireshark.WHY? When calling downloadDocuments(),do GET Xcap message send?
Original comment by yuwenbin...@gmail.com
on 9 Dec 2010 at 11:16
If this function is private it's for good reasons.
To test XCAP: Options->Contacts->Remote Storage(XDMS) then configure the
connection information.
Original comment by boss...@yahoo.fr
on 9 Dec 2010 at 4:03
Yeah,I have set the Remote Storage,then I called downloadDocuments().However,no
Xcap message is captured by Wireshark software.When calling downloadDocuments()
or downloadDocument(),will GET message be send?
Original comment by yuwenbin...@gmail.com
on 9 Dec 2010 at 4:22
Before calling downloadDocuments() you must configure the XcapStack then start
it.
Could you please send the log file (from eclipse) and Wireshark trace?
Original comment by boss...@yahoo.fr
on 9 Dec 2010 at 4:30
When clicking Sign In button,I modify the code and call downloadDocuments().
if(position == ScreenHome.itemSignInOutPosition){
// FIXME
if(ScreenHome.this.adapter.inprogress){
ScreenHome.this.sipService.stopStack();
return;
}
if(ScreenHome.this.sipService.isRegistered()){
ScreenHome.this.sipService.unregister();
}
else{
ScreenHome.this.sipService.register();
XcapService XS = new XcapService();
XS.prepare();
XS.downloadDocuments();
}
}
Original comment by yuwenbin...@gmail.com
on 9 Dec 2010 at 5:22
You cannot do it like this. At this stage the SipStack is not started and you
are not registered. keep in mind that all is asynchronous => calling
"ScreenHome.this.sipService.register()" will not block until you get registered.
What I was asking is: Have you managed to get it to work with the official
source?
Original comment by boss...@yahoo.fr
on 9 Dec 2010 at 5:31
Well,how should I use XcapService?In another word,I want to capture Xcap
message package by using Wireshark software,then what should I do or write the
code?
It is better to give me a code demo of using XcapService class for sending Xcap
message (PUT and GET).
For EXAMPLE:
--------------------------------------------------------------------------------
--
PUT
/xcap-ap-service/pidf-manipulation/users/sip:aladdin@ims.chinamobile.com/perm-pr
esence/~~/presence/pdm:person/rpid:status-icon?xmlns(pdm=urn:ietf:params:xml:ns:
pidf:data-model)xmlns(rpid=urn:ietf:params:xml:ns:pidf:rpid) HTTP/1.1
X-3GPP-Intended-Identity: sip:aladdin@ims.chinamobile.com
Content-Length: <length>
Content-Type: application/xcap-el+xml
User-Agent: <agent name>
Host: <ip:port>
If-Match "<E-tag>"
<rpid:status-icon
etag="85936">http://10.170.32.16:7077/xcap-ap-service/org.openmobilealliance.pre
s-content/users/sip:nemo@ims.chinamobile.com/oma_status-icon/rcs_status_icon</rp
id:status-icon>
--------------------------------------------------------------------------------
----
GET
/xcap-ap-service/org.openmobilealliance.pres-content/users/sip:simba@ims.chinamo
bile.com/oma_status-icon/rcs_status_icon HTTP/1.1
X-3GPP-Intended-Identity: sip:nemo@ims.chinamobile.com
Content-Length: 0
Accept : application/vnd.oma.pres-content+xml
If-None-Match: "<Etag>"
Authorization: Digest username="sip:nemo@ims.chinamobile.com",
realm="ims.chinamobile.com", nonce="1dc7ef3af7a591acecfe5663ca7b60bba",
uri="/xcap-ap-service/org.openmobilealliance.pres-content/users/sip:simba@ims.ch
inamobile.com/oma_status-icon/rcs_status_icon",
cnonce="2b0619ad94bc2aba54dd43425bff604c", nc="00000014", algorithm="MD5",
response="e8ad337e591e6e9ee3a97c8327aac0a7", qop="auth",
opaque="f26798d3e10a9880b91afbc473a224af"
Host: 10.170.32.16:7077
--------------------------------------------------------------------------------
----
Original comment by yuwenbin...@gmail.com
on 9 Dec 2010 at 6:28
When I click Sign In button to login,some Xcap message should be sent.
Here is onRegistrationEvent method of XcapService class
/* ===================== Sip Events ========================*/
public boolean onRegistrationEvent(Object sender, RegistrationEventArgs e) {
switch(e.getType()){
case REGISTRATION_OK:
this.enabled = ServiceManager.getConfigurationService().getBoolean(
CONFIGURATION_SECTION.XCAP,
CONFIGURATION_ENTRY.ENABLED,
Configuration.DEFAULT_XCAP_ENABLED);
if(this.enabled && this.prepare()){
this.downloadDocuments();
}
break;
case UNREGISTRATION_OK:
if(this.enabled){
this.unPrepare();
}
break;
default:
break;
}
return true;
}
this.downloadDocuments(); should be execute and then XDMC will send some Xcap
message(GET).However,no Xcap message is be captured....
Here is Log ERROR.
-----------------------------------------------------------------------------
ERROR/tinyWRAP(616): ***ERROR: function: "tsip_header_Allow_Events_parse()"
ERROR/tinyWRAP(616): file: "src/headers/tsip_header_Allow_Events.c"
ERROR/tinyWRAP(616): line: "297"
ERROR/tinyWRAP(616): MSG: Failed to parse SIP 'Allow-Events' header.
ERROR/tinyWRAP(616): ***ERROR: function: "tnet_tls_socket_init()"
ERROR/tinyWRAP(616): file: "src/tls/tnet_tls.c"
ERROR/tinyWRAP(616): line: "324"
ERROR/tinyWRAP(616): MSG: You MUST enable OpenSSL
ERROR/tinyWRAP(616): ***ERROR: function: "tnet_tls_socket_ctor()"
ERROR/tinyWRAP(616): file: "src/tls/tnet_tls.c"
ERROR/tinyWRAP(616): line: "442"
ERROR/tinyWRAP(616): MSG: Failed to initialize SSL socket [-200].
ERROR/tinyWRAP(616): ***ERROR: function: "tnet_tls_socket_connect()"
ERROR/tinyWRAP(616): file: "src/tls/tnet_tls.c"
ERROR/tinyWRAP(616): line: "105"
ERROR/tinyWRAP(616): MSG: You MUST enable OpenSSL
ERROR/tinyWRAP(616): ***ERROR: function: "thttp_dialog_send_request()"
ERROR/tinyWRAP(616): file: "src/thttp_dialog.c"
ERROR/tinyWRAP(616): line: "372"
ERROR/tinyWRAP(616): MSG: 2000 milliseconds elapsed and the socket is still not
connected.
--------------------------------------------------------------------------------
Original comment by yuwenbin...@gmail.com
on 10 Dec 2010 at 3:14
This is my setting.
Remote Storage(XDMS)
Base URI(xcap-root):https://xcap.sipthor.net/xcap-root
XUI: sip:xxxxxxx@sip2sip.info
Password:xxxxxxx
Original comment by yuwenbin...@gmail.com
on 10 Dec 2010 at 3:26
By the way,I run IMSDroid on the emulator. 2.5G network.
Original comment by yuwenbin...@gmail.com
on 10 Dec 2010 at 5:20
You have the answer in your log: TLS is not supported.
Original comment by boss...@yahoo.fr
on 10 Dec 2010 at 7:36
I mean IMSDroid is not built with OpenSSL => you will not be able to query
"https://" urls. You can only have access to "htt://" websites.
Original comment by boss...@yahoo.fr
on 10 Dec 2010 at 7:53
Er,what should I do fot supporting TLS?
Original comment by yuwenbin...@gmail.com
on 10 Dec 2010 at 9:01
In another word,what should I do to send Xcap Message?
Original comment by yuwenbin...@gmail.com
on 10 Dec 2010 at 9:03
You can rebuild doubango with OpenSSL but it's a bit complex. The easiest
solutin is to use another xcap server which doesn't require TLS.
Original comment by boss...@yahoo.fr
on 10 Dec 2010 at 9:39
Setting as follow?
Remote Storage(XDMS)
Base URI(xcap-root):http://xcap.sipthor.net/xcap-root
(https://xcap.sipthor.net/xcap-root)
XUI: sip:xxxxxxx@sip2sip.info
Password:xxxxxxx
Original comment by yuwenbin...@gmail.com
on 10 Dec 2010 at 11:12
[deleted comment]
Hi,Dear boss...@yahoo.fr
How do get the current input state by the Xcap protocol.
for example:
There are two users(User1 and User2) and have already registered on the server. When User1 input the message that will send to User2, User2 if know the current state of input of User1.
If it's possible. How do this? What steps is required?
Looking forward to your reply.Thank you very much.
Original comment by yangziji...@gmail.com
on 2 Mar 2011 at 9:52
Original comment by boss...@yahoo.fr
on 23 Jul 2011 at 5:06
Original issue reported on code.google.com by
yuwenbin...@gmail.com
on 8 Dec 2010 at 2:13