Hi,
Still working on this problem. I have found out this: the Route header
is omitted in the dialogActivity.createRequest(in) implementation, so
is the Record-Route header.
Moreover, upon receival of the INVITE
(javax.sip.request.INVITE), the sleeProvider.createDialog
(serverTransaction) returns a null Dialog (I know the dialog is in
null state at this point, but even the dialogId [comprised of from, to
and call id headers] is null) is that normal?. I am working on the
sipp sceanario and it should be ready soon.
Regards,
Ismael.

I checked it, and only ocurrs int private headers, I mean, private headers are not forwarded in different dialogs.
I create the outACk with outDialog, and copy all headers except the headers which cannot change (call-id, from, to, content, etc), then, the private headers are forwarded.
:) finally, the only drawbacks I found are:
1 - In responses, it could be neccesary add a recordroute header about the AS. ACK don't reach the AS even though in 200 OK the AS is not added, only the scscf and pcscf.
2 - You cannot create the ack like:because the incomming transaction are terminated... you have to use the outDialog to create the corresponding ACK such as:out.sendAck(outgoingRequest);
Request outgoingRequest = out.createRequest(incomingRequest);
In case of B2BUA it is neccesary the AS in RecordRoute header.
If you simulate a basic scenario such as:
UAC---------AS---------UAS
When the UAC receive the 200 OK, it is used the 200OK's routes in UAC ACK. In this case, you only have scscf and pcscf, then the ACK doesn't reach de AS!
I'm not able to send the wireshark traces right now... tomorrow I'll send them.
OK,
192.168.34.52_5060 is where mobicents are running, the same IP and different ports is for UAC and UAS.
192.168.34.37 is the openIMS (Fokus).
I'm using the example:
http://groups.google.com/group/mobicents-public/web/jain-slee-example-sip-b2b?pli=1
I don't know why the call-id is the same, but, when the dialog is confirmed, I can see in the logs diferent ID for Dialogs. In the url, you can see that I asked the same thing about call-id... and read the responses...
The example works for me if I change what I said in other email:
- Add the AS as route in 200 OK.
- The ACK in the AS have the create ths reques using outgoingDialog.
OK,
192.168.34.52_5060 is where mobicents are running, the same IP and different ports is for UAC and UAS.
192.168.34.37 is the openIMS (Fokus).
I'm using the example:
http://groups.google.com/group/mobicents-public/web/jain-slee-example-sip-b2b?pli=1
I don't know why the call-id is the same, but, when the dialog is confirmed, I can see in the logs diferent ID for Dialogs. In the url, you can see that I asked the same thing about call-id... and read the responses...
The example works for me if I change what I said in other email:
- Add the AS as route in 200 OK.
- The ACK in the AS have the create ths reques using outgoingDialog.
Anyway, it is a boolean flag, if you want to use a diff call-id you can.
-- Eduardo
About RecordRoute header,
I understand that the problem is when we create the response like:
Response outgoingResponse = out.createResponse(st, receivedResponse);
And the Contact-Header must be the AS and not the UAS, rigth?
I'll try it and check if in that case it is not neccesary add the AS as RecordRoute.
--
Vanessa Tejada
Nethalis Solutions S. L.
OK, I have a feedback :)
According to SIP Spec, the call-id have to be different for the outgoingDialog. If you change the falg when create the dialog, the call-id is new, and the communication is perfect
DialogActivity outgoingDialog = sipFactoryProvider.getNewDialog(incomingDialog, false);
Finally, the example includes a method called "getContactHeader" which returns the ContactHeader with AS parameters.
Then, If you add this in the forwardResponse:Response outgoingResponse = out.createResponse(st, receivedResponse);try{
if (outgoingResponse.getHeader(ContactHeader.NAME) != null)
outgoingResponse.removeHeader(ContactHeader.NAME);
outgoingResponse.addHeader(getContactHeader());
}catch(...){...};
Now, It works perferct (without record route with AS information) over openIMS.
Best Regads,
--
Vanessa Tejada
Nethalis Solutions S. L.
REQUEST: ACK sip:89.77.161.136:5060 SIP/2.0
Via: SIP/2.0/UDP 89.77.205.87:6060;branch=0,SIP/2.0/UDP 89.77.205.87:4060;branch=0,SIP/2.0/UDP 89.77.161.136:2231;rport=2231;branch=z9hG4bK18716
Max-Forwards: 15
From: <sip:al...@open-ims.test>;tag=9760
To: <sip:b...@open-ims.test>;tag=1002
CSeq: 401 ACK
Call-ID: M-199d5fd2833814fa3a8d47e4bd3b536d
P-Access-Network-Info: ADSL; utran-cell-id-3gpp=00000000
Privacy: none
P-Asserted-Identity: <sip:al...@open-ims.test>
Content-Length: 0
ACK sip:89.77.205.87:5061 SIP/2.0but i never getrs to other client.
Call-ID: 0d73344c65ae1a15...@89.77.161.136
CSeq: 401 ACK
From: <sip:al...@open-ims.test>;tag=c59c43db
To: <sip:b...@open-ims.test>;tag=1002
Route: <sip:m...@scscf.open-ims.test:6060;lr>,<sip:m...@scscf.open-ims.test:6060;lr>,<sip:m...@pcscf.open-ims.test:4060;lr>
Via: SIP/2.0/UDP 89.77.161.136:5060,SIP/2.0/UDP 89.77.205.87:6060;branch=0,SIP/2.0/UDP 89.77.205.87:4060;branch=0,SIP/2.0/UDP 89.77.161.136:2231;rport=2231;branch=z9hG4bK18716
Max-Forwards: 15
P-Access-Network-Info: ADSL; utran-cell-id-3gpp=00000000
Privacy: none
P-Asserted-Identity: <sip:al...@open-ims.test>
Content-Length: 0