Branch: refs/heads/master
  Home:   https://github.com/OpenSIPS/opensips
  Commit: 2824a3818bcb40a980b795aaece69545eb963397
      
https://github.com/OpenSIPS/opensips/commit/2824a3818bcb40a980b795aaece69545eb963397
  Author: Bogdan-Andrei Iancu <bog...@opensips.org>
  Date:   2023-09-15 (Fri, 15 Sep 2023)

  Changed paths:
    M modules/tm/dlg.h
    M modules/tm/uac.c

  Log Message:
  -----------
  [tm] t_uac() gets a preferred socket too

The function already receives a send_socket (a forced socket) which overrides 
the protocol given by the destination URI. But are cases were we need a milder 
approach, like a preffered socket to be used if not conflicting with the 
protocol given by the RURI.
What we have now:
* send_socket - it is a forced socket, overrides the proto given by RURI, it 
will be used for sure
* pref_socket - a preferred socket, to be used if no send_socket is given and 
if there is no conflict with the proto given by RURI (in case of a conflict, 
the pref_socket is discarded and a new socket is looked up based on the RURI 
info).

First part fix for #3138


  Commit: 4244c286e19e85f10f2873e1c4f1deee2661eb50
      
https://github.com/OpenSIPS/opensips/commit/4244c286e19e85f10f2873e1c4f1deee2661eb50
  Author: Bogdan-Andrei Iancu <bog...@opensips.org>
  Date:   2023-09-15 (Fri, 15 Sep 2023)

  Changed paths:
    M modules/b2b_entities/b2be_load.h
    M modules/b2b_entities/client.c
    M modules/b2b_logic/logic.c

  Log Message:
  -----------
  [b2b_entities/logic] use the newly added pref_socket

When creating a new B2B client, avoid using the UAS side incoming socket as a 
forced socket. By doing that we override the proto given by the UAC RURI (and 
forcing to use the same proto as the UAS side - of course, unless we do not do 
a force send socket from script to manually indicate a new socket/proto). 
Shortly, th dynamic selection of the correct UAC socket is broken.

With this change, we do:
* if the UAS/msg side has a forced socket (from script), we will push it as 
forced socket to the UAC too (as before this change).
* if there is no forcing, the current UAS/msg incoming socket is passed as 
"preferred" socket to the UAC - like use it as time as it fits the RURI proto. 
This helps in preserving (during the whole b2b logic) the same socket when 
having multiple sockets serving the same protocol.

Fixes #3138


Compare: 
https://github.com/OpenSIPS/opensips/compare/4fe2fb6f5cf1...4244c286e19e

_______________________________________________
Devel mailing list
Devel@lists.opensips.org
http://lists.opensips.org/cgi-bin/mailman/listinfo/devel

Reply via email to