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

How to make all SIP traffic use an outbound proxy? #28

Open
kohenkatz opened this issue Jun 7, 2023 · 0 comments
Open

How to make all SIP traffic use an outbound proxy? #28

kohenkatz opened this issue Jun 7, 2023 · 0 comments

Comments

@kohenkatz
Copy link

I need to have all my outbound traffic go through a proxy (Kamailio) so that internal IPv6 servers can communicate with external IPv4 and so I can do media transcoding (RTPEngine).

As far as I can tell. there is no direct support in dialog.Dialog (or dialog.Transport) for setting an outbound proxy.

I was thinking that it looks like there are two ways I can implement this:

  1. Reimplement Dialog to change the send method.
  2. Prepend msg.Route of all outgoing messages with a Route header that points to the outbound proxy.
  3. Use only the data structures in the sip package and do all the communication work and session tracking myself.

The obvious benefit of the second option is that it allows me to take advantage of the full benefits of this package, but are there any downsides to it? Will it actually work? If not, what is the best alternative to avoid reimplementing most of the dialog package?

Has anyone else done this who can share their experiences?

@kohenkatz kohenkatz changed the title How to set make all traffic use an outbound proxy? How to make all traffic use an outbound proxy? Jun 7, 2023
@kohenkatz kohenkatz changed the title How to make all traffic use an outbound proxy? How to make all SIP traffic use an outbound proxy? Jun 7, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant