Hi Igor > On which route do you send those variables?
Trying to shorten a bit. Example, call is being sent to a customer device and is getting busy, this is sent to an asterisk to play the 'busy' tone. But this is also done with all other kinds of announcements. if t_check_status("(486)|(600)") { # BUSY $avp(announcecode) = "BUSY"; route(DISPATCHMEDIA); exit; } DISPMEDIA contains the ID of a dispatcher group consisting of two sip URI towards our two asterisk media server. Extra Header are the used by asterisk to play the desired announcement in the desired language. route[DISPATCHMEDIA] $avp(dispgroup) = DISPMEDIA; append_hf("IMP-annc: $avp(announcecode)\r\n"); append_hf("IMP-mandate: $avp(mandate)\r\n"); append_hf("IMP-language: $avp(callerlang)\r\n"); if (ds_select_dst("$avp(dispgroup)", "6")) { # we have a list of servers and a selection in $du if ($avp(debug) > 0) { xlog("L_INFO", " --> DISPMEDIA targeting request to $ru to location $du \n"); } # Trigger failure route t_on_failure("DISPATCH_MEDIA_FAILURE"); t_on_reply("DISPMEDIA_MANAGE_REPLY"); route(RELAY); exit; } route(ANNOUNCEREPLY); exit; } See part below commented by XXXX where I already 'fixed' it by adding the header again and I also had to set $rU again as this was reset to $rU of orininal incomming call containing a ported number routing prefix, which we strip as one of the first things to get the e164 number. failure_route[DISPATCH_MEDIA_FAILURE] { if (t_is_canceled()) { exit; } if (t_check_status("(500)|(503)") or (t_branch_timeout() and !t_branch_replied())) { if (ds_next_dst()) { # XXXX SETTING HEADER AGAIN!?! append_hf("IMP-annc: $avp(announcecode)\r\n"); append_hf("IMP-mandate: $avp(mandate)\r\n"); append_hf("IMP-language: $avp(callerlang)\r\n"); if ($avp(debug) > 0) { xlog("L_INFO", " --> $cfg(route): retargeting request to $ru to location $du \n"); } # Trigger failure route again t_on_failure("DISPATCH_MEDIA_FAILURE"); t_on_reply("DISPMEDIA_MANAGE_REPLY"); route(RELAY); exit; } route(ANNOUNCEREPLY); exit; } } I know about how Kamailio works by reading header from an 'input buffer' and writing to an 'output buffer'. I guess in case of t_on_failure the complete output buffer with corrected $ru and additional header is being discarded so I have to do all changes again? -- Mit freundlichen Grüssen -Benoît Panizzon- @ HomeOffice und normal erreichbar -- I m p r o W a r e A G - Leiter Commerce Kunden ______________________________________________________ Zurlindenstrasse 29 Tel +41 61 826 93 00 CH-4133 Pratteln Fax +41 61 826 93 01 Schweiz Web http://www.imp.ch ______________________________________________________ __________________________________________________________ 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: * https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users