Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Topology_Hiding - Preserving Non-Transport Params #301

Closed
dexteruk opened this issue Aug 13, 2014 · 16 comments
Closed

Topology_Hiding - Preserving Non-Transport Params #301

dexteruk opened this issue Aug 13, 2014 · 16 comments
Assignees
Milestone

Comments

@dexteruk
Copy link

topology_hiding does not preserve the non-transport params in the contact header, this is generally used by SIP Conference services as a means to pass information back to the UAC

Spoke to Bogdan, regarding this issues and your working on creating a whitelist of params that will be passed when using the topology_hiding function in the dialog module

Thanks Craig (irc dexteruk)

@bogdan-iancu bogdan-iancu added this to the 1.12 milestone Aug 13, 2014
vladpaiu added a commit that referenced this issue Aug 13, 2014
… side to the other when doing topology hiding

Closes feature request #301
@vladpaiu
Copy link
Member

Hello,

This has just been committed on trunk.
Please test and let me know how it goes.

Best Regards,
Vlad

@dexteruk
Copy link
Author

I will run the tests on this tomorrow and let you know how we got on with the MCU conferencing, Thanks for you help on this Vlad.

Craig

@dexteruk
Copy link
Author

Hi
I have tested the new function added to the topology_hiding
I added the following to the dialog settings in the opensips.cfg
modparam("dialog", "th_passed_contact_params", "confid;+com.avistar.confapi.v1;isfocus")

As you can see below in the contact the information is present

Contact: sip:108.60.100.184:5060;transport=tcp;confid=3FD99511F9EB238C3FE825FF752847D1;+com.avistar.confapi.v1;isfocus.

After the topology hiding you see that the confid has now been passed and is fine, but the SIP conferencing UA is still not working at it requires the last two params that have been sent

Contact: sip:64.62.166.180;transport=tcp;did=481.0964f035;confid=3FD99511F9EB238C3FE825FF752847D1.

According to the RFC4579 the isfocus is a valid param, could you modify the fix to allow these other forms of params to be passed if they exist ie ;+com.avistar.confapi.v1;isfocus

http://tools.ietf.org/html/rfc4579

Thanks, for your help

Craig

@vladpaiu
Copy link
Member

Hello,

Just tested now, and with a Contact header like
Contact: sip:108.60.100.184:5060;transport=tcp;confid=3FD99511F9EB238C3FE825FF752847D1;+com.avistar.confapi.v1;isfocus.

, no parameters are passed to the other side, since according to RFC 3261

If no "<"
and ">" are present, all parameters after the URI are header
parameters, not URI parameters

The devel done was for the URI parameters, not the Contact header parameters...

Best Regards,
Vlad

@bogdan-iancu
Copy link
Member

@dexteruk , as @vladpaiu pointed out, in your case, the Contact hdr as the <> brackets or not ?

@dexteruk
Copy link
Author

Because in this case we are talking to a SIP Video Conferencing Services, it creates two sets of Custom Params, the first is a confid= which is a refence for the MCU for the current conference session, as stated above confid=3FD99511F9EB238C3FE825FF752847D1, the second part which is standard for all SIP conferencing services is they pass a isfocus as part of the Header that allows conference-aware user agent that supports the conferencing call control conventions

But as you see with this MCU it passes a couple of params the contact header ;+com.avistar.confapi.v1;isfocus which are outside the <> and the URI params config= that is inside the <> for the UAC to function it needs to receive all this information, from what i can see this is a typical method of operation for conference-aware UAC and SIP Conferencing services.

So we need to allow the topology_hiding to pass a set of contact hdr params and URI params that are returned by the MCU to the UAC for SIP conferencing to work correctly.

Thanks Craig (irc:dexteruk)

@dexteruk
Copy link
Author

dexteruk commented Sep 3, 2014

Is there any update on this?

@dexteruk dexteruk closed this as completed Sep 3, 2014
@dexteruk dexteruk reopened this Sep 3, 2014
@bogdan-iancu
Copy link
Member

@dexteruk , so actually you need this functionality for header params, not for URI params (for the Contact hdr), right ?

@dexteruk
Copy link
Author

dexteruk commented Sep 4, 2014

I just realized that github is removeing the <> so i had to add them with << >>

Contact: sip:108.60.100.184:5060;transport=tcp;confid=3FD99511F9EB238C3FE825FF752847D1;+com.avistar.confapi.v1;isfocus.

Both, there is two sets of the params that are being passed <> which is the confid= and the params outside the <> ;+com.avistar.confapi.v1;isfocus.

@bogdan-iancu
Copy link
Member

Ohhh....I see....this explains a lot...I guess we need an additional param to do the same but for the header parameters.

@dexteruk
Copy link
Author

dexteruk commented Sep 9, 2014

Yes sorry about that in the editor on github it shows the <> but when you save it, it didnt display which caused the confussion.

But yes if we can get this it would be fantastic. So we can pass both URI and Header params

@vladpaiu
Copy link
Member

Hello,

See commit 02453de , added th_passed_contact_uri_params to be used for Contact URI params propagation, and th_passed_contact_params to be used for Contact Header params propagation.

Please test and let me know how it goes.

Best Regards,
Vlad

@dexteruk
Copy link
Author

Hi Vlad

I have tested this feature everything is working fine, i see no issues. Can we get this feature pushed to 1.11 LTS

Thanks

Craig

@vladpaiu
Copy link
Member

Hello,

Great to hear that it's working fine.
Since this is a new feature, it won't be backported to the already released 1.11 - it will only be part of the next OpenSIPS release.

Best Regards,
Vlad

@dexteruk
Copy link
Author

Hi Vlad
Ok, no problem any chance on getting a patch for 1.11 so we can apply it to our versions of 1.11

Thanks

Craig

@dexteruk
Copy link
Author

Hi Vlad

Forget the last message, i managed to create my own patch from the github changes.

Once again thanks for your help on this one.

Thanks

Craig

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

No branches or pull requests

3 participants