Hi,
I have simple dispatcher that is dispatching initial invites to the core router. The question is, how can I tell kamailio to not add the Via header in the INVITE. I mean, I want that this dispatcher will be completely transparent to the core router, so any responses will go directly to the original sender, not to the dispatcher. This is my request route:
request_route {
if (is_method("INVITE")) { if (!ds_select_domain(1, 0)) { xlog("L_INFO", "[MAIN] ERROR: Proxy1 failed"); if (!ds_select_domain(2, 0)) { xlog("L_INFO", "[MAIN] FATAL: Proxy2 failed"); exit; } } xlog("L_INFO","[MAIN] Dispatching INVITE to $rd"); forward(); } }
1 and 2 are defined in dispatcher.list. If it can be done in kamailio, please how. Thank you!
Mino
What you are asking for is not possible within the semantics of SIP, and also not technically viable, because the UAC that sent the initial INVITE request is going to receive replies from a place other than the one to which it send the request. If that UA is properly implemented, it will not process such replies.
If the initial INVITE transaction is initiated through the proxy, it must complete through the proxy. Those are just the rules of the protocol.
If you don't want sequential (in-dialog) requests, such as BYEs, reinvites, UPDATEs, etc. to go between the UAs directly and not through the proxy, you can do that: just don't add a Record-Route header (take out the record_route() call, if you have it).
However, as to the initial transaction, it must complete through the proxy.
-- Alex
On 11/09/2012 11:28 AM, Mino Haluz wrote:
Hi,
I have simple dispatcher that is dispatching initial invites to the core router. The question is, how can I tell kamailio to not add the Via header in the INVITE. I mean, I want that this dispatcher will be completely transparent to the core router, so any responses will go directly to the original sender, not to the dispatcher. This is my request route:
request_route {
if (is_method("INVITE")) { if (!ds_select_domain(1, 0)) { xlog("L_INFO", "[MAIN] ERROR: Proxy1 failed"); if (!ds_select_domain(2, 0)) { xlog("L_INFO", "[MAIN] FATAL: Proxy2 failed"); exit; } } xlog("L_INFO","[MAIN] Dispatching INVITE to $rd"); forward(); } }
1 and 2 are defined in dispatcher.list. If it can be done in kamailio, please how. Thank you!
Mino
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-users@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
On 11/09/2012 11:35 AM, Alex Balashov wrote:
If you don't want sequential (in-dialog) requests, such as BYEs, reinvites, UPDATEs, etc. to go between the UAs directly and not through the proxy, you can do that: just don't add a Record-Route header (take out the record_route() call, if you have it).
Correction: if you DO want sequential requests [...]
I had originally meant to formulate this sentence differently, and left that in there.
Ok so it can be done according to these scenarios:
Initial invite -- uas -> dispatcher -> uas 200 ok to this invite -- uas -> dispatcher -> uac re-invite (hold) -- uac -> uas bye -- uac -> uas
Question, is there any command that forces kamailio to send packet to the destination disregarding what is in the $rd ?
On Fri, Nov 9, 2012 at 5:37 PM, Alex Balashov abalashov@evaristesys.comwrote:
On 11/09/2012 11:35 AM, Alex Balashov wrote:
If you don't want sequential (in-dialog) requests, such as BYEs,
reinvites, UPDATEs, etc. to go between the UAs directly and not through the proxy, you can do that: just don't add a Record-Route header (take out the record_route() call, if you have it).
Correction: if you DO want sequential requests [...]
I had originally meant to formulate this sentence differently, and left that in there.
-- Alex Balashov - Principal Evariste Systems LLC 235 E Ponce de Leon Ave Suite 106 Decatur, GA 30030 Tel: +1-678-954-0670 Fax: +1-404-961-1892 Web: http://www.evaristesys.com/, http://www.alexbalashov.com/
______________________________**_________________ SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-users@lists.sip-router.org http://lists.sip-router.org/**cgi-bin/mailman/listinfo/sr-**usershttp://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
Yes, modify the destination set - $du.
Mino Haluz mino.haluz@gmail.com wrote:
Ok so it can be done according to these scenarios:
Initial invite -- uas -> dispatcher -> uas 200 ok to this invite -- uas -> dispatcher -> uac re-invite (hold) -- uac -> uas bye -- uac -> uas
Question, is there any command that forces kamailio to send packet to the destination disregarding what is in the $rd ?
On Fri, Nov 9, 2012 at 5:37 PM, Alex Balashov abalashov@evaristesys.comwrote:
On 11/09/2012 11:35 AM, Alex Balashov wrote:
If you don't want sequential (in-dialog) requests, such as BYEs,
reinvites, UPDATEs, etc. to go between the UAs directly and not
through
the proxy, you can do that: just don't add a Record-Route header
(take
out the record_route() call, if you have it).
Correction: if you DO want sequential requests [...]
I had originally meant to formulate this sentence differently, and
left
that in there.
-- Alex Balashov - Principal Evariste Systems LLC 235 E Ponce de Leon Ave Suite 106 Decatur, GA 30030 Tel: +1-678-954-0670 Fax: +1-404-961-1892 Web: http://www.evaristesys.com/, http://www.alexbalashov.com/
______________________________**_________________ SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing
list
sr-users@lists.sip-router.org
http://lists.sip-router.org/**cgi-bin/mailman/listinfo/sr-**usershttp://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-users@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
There is send() function in core which forwards the request without any message manipulation. But this function is not flexible, the destination must be set staticly. Further you have the problem with the responses, which will be routed back to Kamailio and Kamailio will drop the responses.
regards Klaus
Am 09.11.2012 17:28, schrieb Mino Haluz:
Hi,
I have simple dispatcher that is dispatching initial invites to the core router. The question is, how can I tell kamailio to not add the Via header in the INVITE. I mean, I want that this dispatcher will be completely transparent to the core router, so any responses will go directly to the original sender, not to the dispatcher. This is my request route:
request_route {
if (is_method("INVITE")) { if (!ds_select_domain(1, 0)) { xlog("L_INFO", "[MAIN] ERROR: Proxy1 failed"); if (!ds_select_domain(2, 0)) { xlog("L_INFO", "[MAIN] FATAL: Proxy2 failed"); exit; } } xlog("L_INFO","[MAIN] Dispatching INVITE to $rd"); forward(); } }
1 and 2 are defined in dispatcher.list. If it can be done in kamailio, please how. Thank you!
Mino
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-users@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users