Re: [reSIProcate-users] Use of Websockets by User Agent
Hi,
I changed the outbound URI to both:
sip:172.28.120.10:10060;transport=WS
sip:172.28.120.10:10060;transport=ws
The result for both was the same, now the REGISTER is sent to
172.28.120.10:10060, but with TCP transport, not WS.
As a result, the repro ACKnowledges the new TCP connection but immediately
FINalizes it, certainly because it's not WS.
Below the corresponding log, with level = STACK.
Many Thanks.
BEGIN OF LOG SNIPPET --------------------------
INFO | 20150611-192906.004 | | RESIP:DNS | 7580 | aresdns.cxx:358 | DNS
initialization: found 1 name servers
INFO | 20150611-192906.011 | | RESIP:DNS | 7580 | aresdns.cxx:369 | name
server: 172.28.40.40
DEBUG | 20150611-192909.075 | EasyUA SIP client | RESIP:TRANSPORT | 7580 |
ConnectionBase.cxx:71 | ConnectionBase::ConnectionBase, who: [ V4 0.0.0.0:0
UNKNOWN_TRANSPORT target domain=unspecified mFlowK
ey=0 ] 00480378
DEBUG | 20150611-192909.090 | EasyUA SIP client | RESIP:TRANSPORT | 7580 |
ConnectionBase.cxx:84 | No compression library available: 00480378
INFO | 20150611-192909.097 | EasyUA SIP client | RESIP:TRANSPORT | 7580 |
Connection.cxx:38 | Connection::Connection: new connection created to who: [ V4
0.0.0.0:0 UNKNOWN_TRANSPORT target domain=unspe
cified mFlowKey=0 ]
DEBUG | 20150611-192909.109 | EasyUA SIP client | RESIP:TRANSPORT | 7580 |
ConnectionManager.cxx:34 | ConnectionManager::ConnectionManager() called
DEBUG | 20150611-192909.117 | EasyUA SIP client | RESIP:TRANSPORT | 7580 |
InternalTransport.cxx:115 | Creating fd=532 V4/TCP
DEBUG | 20150611-192909.123 | EasyUA SIP client | RESIP:TRANSPORT | 7580 |
InternalTransport.cxx:123 | Binding to 172.28.60.1
INFO | 20150611-192909.131 | EasyUA SIP client | RESIP:TRANSPORT | 7580 |
WsTransport.cxx:35 | Creating WS transport host=172.28.60.1 port=5870 ipv4=1
DEBUG | 20150611-192909.141 | EasyUA SIP client | RESIP | 7580 |
SipStack.cxx:479 | Adding domain alias: 172.28.60.1:5870
DEBUG | 20150611-192909.147 | EasyUA SIP client | RESIP:TRANSPORT | 7580 |
TransportSelector.cxx:238 | Adding transport: [ V4 172.28.60.1:5870 WS target
domain=unspecified mFlowKey=0 ]
DEBUG | 20150611-192909.158 | EasyUA SIP client | RESIP:DUM | 7580 |
UserProfile.cxx:143 | Adding credential: realm=np user=9005
STACK | 20150611-192909.424 | EasyUA SIP client | RESIP:DUM | 7580 |
Handled.cxx:16 | &&&&&& Handled::Handled 1 this(00483890) 0047E5D8
DEBUG | 20150611-192909.434 | EasyUA SIP client | RESIP:DUM | 7580 |
BaseCreator.cxx:148 | BaseCreator::makeInitialRequest:
00486770
DEBUG | 20150611-192909.443 | EasyUA SIP client | RESIP:DUM | 7580 |
RegistrationCreator.cxx:25 | RegistrationCreator::RegistrationCreator: 00486770
DEBUG | 20150611-192909.451 | EasyUA SIP client | RESIP:DUM | 7580 |
DialogSet.cxx:52 | ************* Created DialogSet(UAC) --
muTN19aL6ZRd2vmn01Q12Q..-5322ca2d*************
STACK | 20150611-192909.460 | EasyUA SIP client | RESIP:DUM | 7580 |
DialogUsageManager.cxx:522 | ************* Adding DialogSet ***************:
muTN19aL6ZRd2vmn01Q12Q..-5322ca2d
STACK | 20150611-192909.469 | EasyUA SIP client | RESIP:DUM | 7580 |
DialogUsageManager.cxx:525 | DialogSetMap: [muTN19aL6ZRd2vmn01Q12Q..-5322ca2d
-> state=0]
STACK | 20150611-192909.478 | EasyUA SIP client | RESIP:DUM | 7580 |
DialogUsageManager.cxx:2270 | Looking for dialogSet:
muTN19aL6ZRd2vmn01Q12Q..-5322ca2d in map:
STACK | 20150611-192909.486 | EasyUA SIP client | RESIP:DUM | 7580 |
DialogUsageManager.cxx:2271 | DialogSetMap: [muTN19aL6ZRd2vmn01Q12Q..-5322ca2d
-> state=0]
DEBUG | 20150611-192909.494 | EasyUA SIP client | RESIP:DUM | 7580 |
DialogUsageManager.cxx:983 | SEND:
REGISTER sip:np SIP/2.0
Via: SIP/2.0/ ;branch=z9hG4bK-524287-1---d638452e5c3e7324;rport
Max-Forwards: 70
Contact:
<sip:9005>;+sip.instance="<urn:uuid:B6BBD898-F7B1-4C37-3C16-1F97A073837F>";methods="INVITE,ACK,CANCEL,OPTIONS,BYE,NOTIFY,SUBSCRIBE,INFO,MESSAGE"
To: <sip:9005@np>
From: <sip:9005@np>;tag=5322ca2d
Call-ID: muTN19aL6ZRd2vmn01Q12Q..
CSeq: 1 REGISTER
Expires: 600
Accept-Language: en
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, NOTIFY, SUBSCRIBE, INFO, MESSAGE
Supported: timer
User-Agent: Inovax EasyUA 1.0
Content-Length: 0
STACK | 20150611-192909.529 | EasyUA SIP client | RESIP:DUM | 7580 |
DialogUsageManager.cxx:2270 | Looking for dialogSet:
muTN19aL6ZRd2vmn01Q12Q..-5322ca2d in map:
STACK | 20150611-192909.538 | EasyUA SIP client | RESIP:DUM | 7580 |
DialogUsageManager.cxx:2271 | DialogSetMap: [muTN19aL6ZRd2vmn01Q12Q..-5322ca2d
-> state=0]
DEBUG | 20150611-192909.548 | EasyUA SIP client | RESIP:DUM | 7580 |
DialogId.cxx:50 | DialogId::DialogId: muTN19aL6ZRd2vmn01Q12Q..-5322ca2d-
STACK | 20150611-192909.557 | EasyUA SIP client | RESIP:DUM | 7580 |
DialogUsageManager.cxx:2270 | Looking for dialogSet:
muTN19aL6ZRd2vmn01Q12Q..-5322ca2d in map:
STACK | 20150611-192909.567 | EasyUA SIP client | RESIP:DUM | 7580 |
DialogUsageManager.cxx:2271 | DialogSetMap: [muTN19aL6ZRd2vmn01Q12Q..-5322ca2d
-> state=0]
STACK | 20150611-192909.576 | EasyUA SIP client | RESIP:DUM | 7580 |
DialogSet.cxx:931 | findDialog: muTN19aL6ZRd2vmn01Q12Q..-5322ca2d- in []
DEBUG | 20150611-192909.584 | EasyUA SIP client | RESIP:DUM | 7580 |
DialogUsageManager.cxx:1110 | Using outbound proxy:
sip:172.28.120.10:10060;transport=ws;lr -> SipReq: REGISTER np tid=d638452e5c3e
7324 cseq=1 REGISTER contact=9005 / 1 from(tu)
DEBUG | 20150611-192909.598 | EasyUA SIP client | RESIP:DUM | 7580 |
DialogUsageManager.cxx:1124 | Sending to express outbound w/o flow tuple
DEBUG | 20150611-192909.606 | EasyUA SIP client | RESIP | 7580 |
SipStack.cxx:611 | SEND: SipReq: REGISTER np tid=d638452e5c3e7324 cseq=1
REGISTER contact=9005 / 1 from(tu)
STACK | 20150611-192909.616 | EasyUA SIP client | RESIP:TRANSACTION | 14156 |
TransactionState.cxx:168 | No matching transaction for SipReq: REGISTER np
tid=d638452e5c3e7324 cseq=1 REGISTER contact=90
05 / 1 from(tu)
STACK | 20150611-192909.628 | EasyUA SIP client | RESIP:TRANSACTION | 14156 |
TransactionState.cxx:68 | Creating new TransactionState: tid=d638452e5c3e7324 [
ClientNonInvite/Trying reliable target=[ V4
0.0.0.0:0 UNKNOWN_TRANSPORT target domain=unspecified mFlowKey=0 ]]
STACK | 20150611-192909.643 | EasyUA SIP client | RESIP:TRANSACTION | 14156 |
TransactionState.cxx:970 | TransactionState::processClientNonInvite: SipReq:
REGISTER np tid=d638452e5c3e7324 cseq=1 REGIS
TER contact=9005 / 1 from(tu)
DEBUG | 20150611-192909.658 | EasyUA SIP client | RESIP:TRANSACTION | 14156 |
TimerQueue.cxx:50 | Adding timer: Timer F tid=d638452e5c3e7324 ms=32000
STACK | 20150611-192909.666 | EasyUA SIP client | RESIP:TRANSACTION | 14156 |
TransactionState.cxx:2511 | sendToWire with no dns result: tid=d638452e5c3e7324
[ ClientNonInvite/Trying reliable target=[
V4 0.0.0.0:0 UNKNOWN_TRANSPORT target domain=unspecified mFlowKey=0 ]]
DEBUG | 20150611-192909.684 | EasyUA SIP client | RESIP:TRANSPORT | 14156 |
TransportSelector.cxx:463 | Looking up dns entries (from route) for
sip:172.28.120.10:10060;transport=ws;lr
DEBUG | 20150611-192909.694 | EasyUA SIP client | RESIP:DNS | 14156 |
DnsResult.cxx:249 | DnsResult::lookup sip:172.28.120.10:10060;transport=ws;lr
DEBUG | 20150611-192909.702 | EasyUA SIP client | RESIP:DNS | 14156 |
DnsResult.cxx:298 | Found immediate result: [ V4 172.28.120.10:10060 WS target
domain=172.28.120.10 mFlowKey=0 ]
STACK | 20150611-192909.713 | EasyUA SIP client | RESIP:TRANSACTION | 14156 |
TransactionState.cxx:723 | Found matching transaction for Client
DnsResultMessage: tid=d638452e5c3e7324 -> tid=d638452e5c3e
7324 [ ClientNonInvite/Trying reliable target=[ V4 0.0.0.0:0 UNKNOWN_TRANSPORT
target domain=unspecified mFlowKey=0 ]]
STACK | 20150611-192909.732 | EasyUA SIP client | RESIP:TRANSACTION | 14156 |
TransactionState.cxx:970 | TransactionState::processClientNonInvite: Client
DnsResultMessage: tid=d638452e5c3e7324
STACK | 20150611-192909.743 | EasyUA SIP client | RESIP:TRANSACTION | 14156 |
TransactionState.cxx:2350 | tid=d638452e5c3e7324 [ ClientNonInvite/Trying
reliable target=[ V4 0.0.0.0:0 UNKNOWN_TRANSPORT
target domain=unspecified mFlowKey=0 ]] got DNS result: 172.28.120.10 --> [[ V4
172.28.120.10:10060 WS target domain=172.28.120.10 mFlowKey=0 ]]
STACK | 20150611-192909.762 | EasyUA SIP client | RESIP:DNS | 14156 |
DnsResult.cxx:228 | Returning next dns entry: [ V4 172.28.120.10:10060 WS
target domain=172.28.120.10 mFlowKey=0 ]
DEBUG | 20150611-192909.772 | EasyUA SIP client | RESIP:TRANSPORT | 14156 |
TransportSelector.cxx:1178 | Transmitting to [ V4 172.28.120.10:10060 WS target
domain=172.28.120.10 mFlowKey=0 ] tlsDomain=
via [ V4 172.28.60.1:5870 WS target domain=unspecified mFlowKey=0 ]
REGISTER sip:np SIP/2.0
Via: SIP/2.0/WS
172.28.60.1:5870;branch=z9hG4bK-524287-1---d638452e5c3e7324;rport
Max-Forwards: 70
Route: <sip:172.28.120.10:10060;transport=ws;lr>
Contact:
<sip:9005@172.28.60.1:5870;transport=ws>;+sip.instance="<urn:uuid:B6BBD898-F7B1-4C37-3C16-1F97A073837F>";methods="INVITE,ACK,CANCEL,OPTIONS,BYE,NOTIFY,SUBSCRIBE,INFO,MESSAGE"
To: <sip:9005@np>
From: <sip:9005@np>;tag=5322ca2d
Call-ID: muTN19aL6ZRd2vmn01Q12Q..
CSeq: 1 REGISTER
Expires: 600
Accept-Language: en
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, NOTIFY, SUBSCRIBE, INFO, MESSAGE
Supported: timer
User-Agent: Inovax EasyUA 1.0
Content-Length: 0
sigcomp id=
DEBUG | 20150611-192909.829 | EasyUA SIP client | RESIP:TRANSPORT | 11564 |
TcpBaseTransport.cxx:283 | Processing write for [ V4 172.28.120.10:10060 WS
target domain=172.28.120.10 mFlowKey=0 ]
DEBUG | 20150611-192909.839 | EasyUA SIP client | RESIP:TRANSPORT | 11564 |
ConnectionManager.cxx:93 | Could not find a connection for [ V4
172.28.120.10:10060 WS target domain=172.28.120.10 mFlowKey=0
]
DEBUG | 20150611-192909.852 | EasyUA SIP client | RESIP:TRANSPORT | 11564 |
InternalTransport.cxx:115 | Creating fd=624 V4/TCP
DEBUG | 20150611-192909.858 | EasyUA SIP client | RESIP:TRANSPORT | 11564 |
TcpBaseTransport.cxx:223 | Opening new connection to [ V4 172.28.120.10:10060
WS target domain=172.28.120.10 mFlowKey=0 ]
DEBUG | 20150611-192909.869 | EasyUA SIP client | RESIP:TRANSPORT | 11564 |
ConnectionBase.cxx:71 | ConnectionBase::ConnectionBase, who: [ V4
172.28.120.10:10060 WS target domain=172.28.120.10 mFlowKey
=0 ] 0049B2A0
DEBUG | 20150611-192909.881 | EasyUA SIP client | RESIP:TRANSPORT | 11564 |
ConnectionBase.cxx:84 | No compression library available: 0049B2A0
INFO | 20150611-192909.888 | EasyUA SIP client | RESIP:TRANSPORT | 11564 |
Connection.cxx:38 | Connection::Connection: new connection created to who: [ V4
172.28.120.10:10060 WS target domain=172.28.12
0.10 mFlowKey=624 ]
DEBUG | 20150611-192909.901 | EasyUA SIP client | RESIP:TRANSPORT | 11564 |
TcpConnection.cxx:18 | Creating TCP connection [ V4 172.28.120.10:10060 WS
target domain=172.28.120.10 mFlowKey=0 ] on 624
DEBUG | 20150611-192909.911 | EasyUA SIP client | RESIP:TRANSPORT | 11564 |
WsConnection.cxx:17 | Creating WS connection [ V4 172.28.120.10:10060 WS target
domain=172.28.120.10 mFlowKey=0 ] on 624
DEBUG | 20150611-192909.927 | EasyUA SIP client | RESIP:TRANSPORT | 11564 |
ConnectionBase.cxx:1011 | Creating buffer for CONN_BASE: 0049B2A0 [ V4
172.28.120.10:10060 WS target domain=172.28.120.10 mFl
owKey=624 ]
INFO | 20150611-192909.941 | EasyUA SIP client | RESIP:TRANSPORT | 11564 |
TcpConnection.cxx:72 | Connection closed by remote CONN: 0049B2A0 624 [ V4
172.28.120.10:10060 WS target domain=172.28.120.10
mFlowKey=624 ]
DEBUG | 20150611-192909.954 | EasyUA SIP client | RESIP:TRANSPORT | 11564 |
Connection.cxx:392 | Closing connection bytesRead=-1
DEBUG | 20150611-192909.960 | EasyUA SIP client | RESIP:TRANSPORT | 11564 |
ConnectionBase.cxx:114 | ConnectionBase::~ConnectionBase 0049B2A0
INFO | 20150611-192909.968 | EasyUA SIP client | RESIP:TRANSACTION | 14156 |
TuSelector.cxx:102 | Sending ConnectionTerminated [ V4 172.28.120.10:10060 WS
target domain=172.28.120.10 mFlowKey=624 ] to
TUs
DEBUG | 20150611-192909.979 | EasyUA SIP client | RESIP:DUM | 7580 |
DialogUsageManager.cxx:1451 | connection terminated message
END OF LOG SNIPPET ----------------------------
From: slgodin@xxxxxxxxx [mailto:slgodin@xxxxxxxxx] On Behalf Of Scott Godin
Sent: Thursday, June 11, 2015 6:54 PM
To: Julio Cabezas
Cc: resiprocate-users@xxxxxxxxxxxxxxx
Subject: Re: [reSIProcate-users] Use of Websockets by User Agent
The WS logs you show seem to be a subsequent error, so it's difficult to
understand what is happening to get it black listed in the first place.
DnsResult.cxx:473 | Numeric result, but this result is currently
blacklisted: [ V4 0.0.0.0:0 UNKNOWN_TRANSPORT target domain=unspec
ified mFlowKey=0 ]
You could try the following outbound uri in order to specify WS use:
sip:172.28.120.10:10060;transport=WS
If it's still not working, then post a log snippet of the initial connection
attempt when starting your application. You may also want to up the log level
STACK to get more info.
Scott
On Thu, Jun 11, 2015 at 5:15 PM, Julio Cesar Esteves Cabezas
<jcabezas@xxxxxxxxxxxxx> wrote:
Hi,
I want an User Agent based on reSIProcate V.1.9.8 to use Websockets (WS
not WSS) as transport.
In the TCP case, registration and calls work OK.
In the WS case, no packets are sent to the repro still in registration
phase.
I am using as SIP-proxy a repro built from V.1.9.8, that is listening to
UDP/TCP on port 5060 and WS on port 10060 in 172.28.120.10. All inside my
LAN. It's running on a Windows Server box.
My UA runs on my WIndows station with IP = 172.28.60.1.
When I use TCP I do:
mStack->addTransport(resip::TCP, 5870, resip::V4, resip::StunEnabled,
"172.28.60.1", "");
mMasterProfile->setOutboundProxy(resip::Uri("sip:172.28.120.10:5060"));
When I use WS I do:
mStack->addTransport(resip::WS, 5870, resip::V4, resip::StunEnabled,
"172.28.60.1", "");
mMasterProfile->setOutboundProxy(resip::Uri("sip:172.28.120.10:10060"));
Below Log snippets when trying registration using WS and using TCP.
What could be the next step ?
Do I need necessarily to set up DNS entries for using WS as transport ?
Why that comparing to UDP/TCP ?
Thanks and Best regards.
Julio Cabezas.
--- Log in Debug Level when using WS ---
DEBUG | 20150611-173932.579 | EasyUA SIP client | RESIP:DUM | 10916 |
DialogId.cxx:50 | DialogId::DialogId: 3Af7A45siXtdIw0PRPLwJA..-971dee61-
DEBUG | 20150611-173932.588 | EasyUA SIP client | RESIP:DUM | 10916 |
DialogUsageManager.cxx:1110 | Using outbound proxy:
sip:172.28.120.10:10060;lr -> SipReq: REGISTER np tid=7a4b10188027d038
cseq=1
REGISTER contact=9005 / 1 from(tu)
DEBUG | 20150611-173932.603 | EasyUA SIP client | RESIP:DUM | 10916 |
DialogUsageManager.cxx:1124 | Sending to express outbound w/o flow tuple
DEBUG | 20150611-173932.613 | EasyUA SIP client | RESIP | 10916 |
SipStack.cxx:611 | SEND: SipReq: REGISTER np tid=7a4b10188027d038 cseq=1
REGISTER contact=9005 / 1 from(tu)
DEBUG | 20150611-173932.624 | EasyUA SIP client | RESIP:TRANSACTION | 11468
| TimerQueue.cxx:50 | Adding timer: Timer F tid=7a4b10188027d038 ms=32000
DEBUG | 20150611-173932.633 | EasyUA SIP client | RESIP:TRANSPORT | 11468 |
TransportSelector.cxx:463 | Looking up dns entries (from route) for
sip:172.28.120.10:10060;lr
DEBUG | 20150611-173932.644 | EasyUA SIP client | RESIP:DNS | 11468 |
DnsResult.cxx:249 | DnsResult::lookup sip:172.28.120.10:10060;lr
DEBUG | 20150611-173932.652 | EasyUA SIP client | RESIP:DNS | 11468 |
DnsResult.cxx:473 | Numeric result, but this result is currently
blacklisted: [ V4 0.0.0.0:0 UNKNOWN_TRANSPORT target domain=unspec
ified mFlowKey=0 ]
DEBUG | 20150611-173932.666 | EasyUA SIP client | RESIP | 11468 |
Helper.cxx:374 | Helper::makeResponse(SipReq: REGISTER np
tid=7a4b10188027d038 cseq=1 REGISTER contact=9005 / 1 from(tu) code=503 reas
on=
INFO | 20150611-173932.680 | EasyUA SIP client | RESIP:TRANSACTION | 11468 |
TransactionState.cxx:2105 | Ran out of dns entries for 172.28.120.10. Send
503
DEBUG | 20150611-173932.690 | EasyUA SIP client | RESIP:TRANSACTION | 11468
| TuSelector.cxx:70 | Send to TU: TU: DialogUsageManager size=0
SIP/2.0 503 No DNS results
Via: SIP/2.0/ ;branch=z9hG4bK-524287-1---7a4b10188027d038;rport
To: <sip:9005@np>;tag=711bfa61
From: <sip:9005@np>;tag=971dee61
Call-ID: 3Af7A45siXtdIw0PRPLwJA..
CSeq: 1 REGISTER
Warning: 399 DSV-1.pdi.inovax.local "No other DNS entries to try (0,0)"
Content-Length: 0
--- Log in Debug Level when using TCP ---
DEBUG | 20150611-174811.283 | EasyUA SIP client | RESIP:DUM | 13436 |
DialogId.cxx:50 | DialogId::DialogId: iooUU7PpuT3nUgz_8_vMig..-7821043c-
DEBUG | 20150611-174811.291 | EasyUA SIP client | RESIP:DUM | 13436 |
DialogUsageManager.cxx:1110 | Using outbound proxy:
sip:172.28.120.10:5060;lr -> SipReq: REGISTER np tid=a0542623bb302f02
cseq=1 R
EGISTER contact=9005 / 1 from(tu)
DEBUG | 20150611-174811.305 | EasyUA SIP client | RESIP:DUM | 13436 |
DialogUsageManager.cxx:1124 | Sending to express outbound w/o flow tuple
DEBUG | 20150611-174811.312 | EasyUA SIP client | RESIP | 13436 |
SipStack.cxx:611 | SEND: SipReq: REGISTER np tid=a0542623bb302f02 cseq=1
REGISTER contact=9005 / 1 from(tu)
DEBUG | 20150611-174811.322 | EasyUA SIP client | RESIP:TRANSACTION | 1884 |
TimerQueue.cxx:50 | Adding timer: Timer F tid=a0542623bb302f02 ms=32000
DEBUG | 20150611-174811.330 | EasyUA SIP client | RESIP:TRANSPORT | 1884 |
TransportSelector.cxx:463 | Looking up dns entries (from route) for
sip:172.28.120.10:5060;lr
DEBUG | 20150611-174811.339 | EasyUA SIP client | RESIP:DNS | 1884 |
DnsResult.cxx:249 | DnsResult::lookup sip:172.28.120.10:5060;lr
DEBUG | 20150611-174811.346 | EasyUA SIP client | RESIP:DNS | 1884 |
DnsResult.cxx:466 | Numeric result so return immediately: [ V4
172.28.120.10:5060 TCP target domain=172.28.120.10 mFlowKey=0 ]
DEBUG | 20150611-174811.358 | EasyUA SIP client | RESIP:TRANSPORT | 1884 |
TransportSelector.cxx:1178 | Transmitting to [ V4 172.28.120.10:5060 TCP
target domain=172.28.120.10 mFlowKey=0 ] tlsDomain= v
ia [ V4 172.28.60.1:5870 TCP target domain=unspecified mFlowKey=0 ]
------------------------------------------
_______________________________________________
resiprocate-users mailing list
resiprocate-users@xxxxxxxxxxxxxxx
List Archive: http://list.resiprocate.org/archive/resiprocate-users/