Hi,
Thats question i asked several times here, to be honest no 100% workable
solution.
So after drinking many beers the idea flashed to brain and
implementation seems to work nice so far.
Approach below works even if both UAs behind (different) NAT, as long as
UA keep connection/flow alive ... .
Off course all this apply to proxy .... .
Here is how id did:
/* NAT traversal.
When we do record routing, store request sender flow info and
request target flow info.
Now the tricky part, how proxy later which flow is target
(because both sides can send requests).
Sender-flow will store from-tag to flow and target-flow will
store flowID only (Because we don't know to-tag).
Later if request to-tag matches(incoming request), use that
flow, otherwise(outgoing request) other flow.
flowInfo: sender-flow "/" target-flow
sender-flow = from-tag ":" flowID
target-flow = flowID
*/
Off course flowInfo should be HMAC encrypted, but in test period i keep
it open, easier to debug.
Term Flow:
A Flow is a network protocol layer (layer 4) association
between two hosts that is represented by the network address and
port number of both ends and by the protocol. For TCP, a flow is
equivalent to a TCP connection. For UDP a flow is a bidirectional
stream of datagrams between a single pair of IP addresses and
ports of both peers.
Any comments will be welcome.
Arif wrote:
> Hi!!
>
> I am kind of lost in a scenario..where..
>
> UAC (behind NAT) initiates a session with a UAS (Not behind NAT) through
> Proxy (Statefull)..
> Now invite goes to Proxy and then routed to UAS.. and response is also
> relayed back to UAC as per rfc 3261 and 3581..
> The UAC does not use any STUN etc.
>
> However IF UAS wants to end the session with BYE, it will send this request
> to Proxy (coz proxy had record-routed), but how shall proxy
> route this request back to UAC (which is behind NAT), coz the contact address
> which UAC had sent in initial invite contained private IP.
>
> is there any way we can make Proxy aware of this state and try to route
> request back to UAC?
>
> regards
>
> Arif
>
>
>
> _______________________________________________
> Sip-implementors mailing list
> [email protected]
> https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors
>
_______________________________________________
Sip-implementors mailing list
[email protected]
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors