Hello all,
I have a trouble that is related to the way of usage of dispatcher module.
I am working with Kamailio 5.3.2 and using dispatcher module as load balancer to route calls to the media gateways.
My dispatching routes are below as simply,
route[DISPATCH] { if(ds_select_domain("2", "4")) { route(MYRELAY); } else { send_reply("503","Service Unavailable - No MGW"); exit; } } route[MYRELAY] { t_on_failure("MYFAILURE"); if(!t_relay()) { sl_reply_error(); } exit; } failure_route[MYFAILURE] { route(NATMANAGE); revert_uri(); if (t_is_canceled()) { exit; } if ($T_reply_code == 408 || $T_reply_code == 503) { if(ds_next_domain()) { route(MYRELAY); } else { send_reply("503","Service Unavailable"); exit; } } else { if(ds_select_domain("6", "4")) { route(MYVMRELAY); } else { send_reply(486,"Busy"); exit; } } } route[MYVMRELAY] { t_on_failure("MYVMFAILURE"); if(!t_relay()) { sl_reply_error(); } exit; } failure_route[MYVMFAILURE] { route(NATMANAGE); revert_uri(); if (t_is_canceled()) { exit; } if(ds_next_domain()) { route(MYVMRELAY); } else { send_reply("503","Service Unavailable"); exit; } }
I have multiple media gateways(setid=2) and voicemail servers(setid=6). As can be seen from the configuration, after first routing, for transaction reply code except 408 or 503, I am routing call to the voicemail server using dispatcher. In that phase, dispatcher module is remembering previously loaded destinations that come from first ds_select_domain and module try to route these destinations in the case that all voicemail servers are unavailable. So basically, I want to unload all destinations comes from previous ds_select_domain.
From the documentation, i tried ds_load_update and ds_load_unset methods but not worked for me.
Is there any way to overcome that problem or any right usages of these methods.
Thank you,
Serdar
Hello,
delete the xavps based on the names you set via modparams xavp_dst and xavp_ctx.
Cheers, Daniel
On 30.07.21 11:14, Serdar GÜÇLÜER wrote:
Hello all,
I have a trouble that is related to the way of usage of dispatcher module.
I am working with Kamailio 5.3.2 and using dispatcher module as load balancer to route calls to the media gateways.
My dispatching routes are below as simply,
route[DISPATCH] { if(ds_select_domain("2", "4")) { route(MYRELAY); } else { send_reply("503","Service Unavailable - No MGW"); exit; } } route[MYRELAY] { t_on_failure("MYFAILURE"); if(!t_relay()) { sl_reply_error(); } exit; } failure_route[MYFAILURE] { route(NATMANAGE); revert_uri(); if (t_is_canceled()) { exit; } if ($T_reply_code == 408 || $T_reply_code == 503) { if(ds_next_domain()) { route(MYRELAY); } else { send_reply("503","Service Unavailable"); exit; } } else { if(ds_select_domain("6", "4")) { route(MYVMRELAY); } else { send_reply(486,"Busy"); exit; } } } route[MYVMRELAY] { t_on_failure("MYVMFAILURE"); if(!t_relay()) { sl_reply_error(); } exit; } failure_route[MYVMFAILURE] { route(NATMANAGE); revert_uri(); if (t_is_canceled()) { exit; } if(ds_next_domain()) { route(MYVMRELAY); } else { send_reply("503","Service Unavailable"); exit; } }
I have multiple media gateways(setid=2) and voicemail servers(setid=6). As can be seen from the configuration, after first routing, for transaction reply code except 408 or 503, I am routing call to the voicemail server using dispatcher. In that phase, dispatcher module is remembering previously loaded destinations that come from first ds_select_domain and module try to route these destinations in the case that all voicemail servers are unavailable. So basically, I want to unload all destinations comes from previous ds_select_domain.
From the documentation, i tried ds_load_update and ds_load_unset methods but not worked for me.
Is there any way to overcome that problem or any right usages of these methods.
Thank you,
Serdar
Kamailio - Users Mailing List - Non Commercial Discussions
- sr-users@lists.kamailio.org
Important: keep the mailing list in the recipients, do not reply only to the sender! Edit mailing list options or unsubscribe: