Siguiendo con la pelea de los branches .. a ver si los termino de dominar .. esto es lo que tengo puesto ...
route[n] { .. t_on_branch(2); if(!lookup("location")) { .. } ... }
branch_route[2] { if(isbflagset(6)) { xlog("L_INFO", "Fix 2 BI:$T_branch_idx flags=$bF\n"); use_media_proxy(); t_on_reply(2); } else { xlog("L_INFO", "Fix 2 non needed BI:$T_branch_idx flags=$bF\n"); t_on_reply(1); } }
Bien .. pues devolviendo lookup 2 contacs, uno en IP pública y el otro tras NAT, saltan ambos a branch_route[2] como era de esperar. Al contact tras NAT, se le aplica correctamente el use_media_proxy y al otro nada, limpito .. pues resulta que todos los REPLY's me entran por onreply_route[1] ... y no entiendo porqué, cuando se supone que los reply's del usuario NAT de deberían llegar a onreply_route[2]
¿Algo no he captado de como funcionan los branch_route? ¿no deberían de quedar "marcados" estos branches en openser para que sus replies vayan a donde deben?