From 68f575b9418b39b42363ebaf70e44981040e5f98 Mon Sep 17 00:00:00 2001 From: FusionPBX Date: Thu, 3 Aug 2023 12:18:02 -0600 Subject: [PATCH] Fixed a problem for inbound destinations with more than one caller ID routing conditions. Its a minor bug as it created the dialplan XML so the call will work. However the dialplan details needed the group incremented. --- app/destinations/destination_edit.php | 46 ++++++++++++++------------- 1 file changed, 24 insertions(+), 22 deletions(-) diff --git a/app/destinations/destination_edit.php b/app/destinations/destination_edit.php index 82b5712176..0f36db13ac 100644 --- a/app/destinations/destination_edit.php +++ b/app/destinations/destination_edit.php @@ -553,6 +553,7 @@ //increment the dialplan detail order $dialplan_detail_order = $dialplan_detail_order + 10; + $dialplan_detail_group = 0; //add the dialplan detail destination conditions if (!empty($conditions)) { @@ -572,7 +573,7 @@ $dialplan["dialplan_details"][$y]["dialplan_detail_type"] = 'regex'; $dialplan["dialplan_details"][$y]["dialplan_detail_data"] = 'all'; $dialplan["dialplan_details"][$y]["dialplan_detail_break"] = 'never'; - $dialplan["dialplan_details"][$y]["dialplan_detail_group"] = '0'; + $dialplan["dialplan_details"][$y]["dialplan_detail_group"] = $dialplan_detail_group; $dialplan["dialplan_details"][$y]["dialplan_detail_order"] = $dialplan_detail_order; $y++; @@ -593,7 +594,7 @@ $dialplan["dialplan_details"][$y]["dialplan_detail_type"] = "regex"; } $dialplan["dialplan_details"][$y]["dialplan_detail_data"] = $destination_number_regex; - $dialplan["dialplan_details"][$y]["dialplan_detail_group"] = '0'; + $dialplan["dialplan_details"][$y]["dialplan_detail_group"] = $dialplan_detail_group; $dialplan["dialplan_details"][$y]["dialplan_detail_order"] = $dialplan_detail_order; $y++; @@ -605,7 +606,7 @@ $dialplan["dialplan_details"][$y]["dialplan_detail_tag"] = "regex"; $dialplan["dialplan_details"][$y]["dialplan_detail_type"] = $row['condition_field']; $dialplan["dialplan_details"][$y]["dialplan_detail_data"] = '^'.$condition_expression.'$'; - $dialplan["dialplan_details"][$y]["dialplan_detail_group"] = '0'; + $dialplan["dialplan_details"][$y]["dialplan_detail_group"] = $dialplan_detail_group; $dialplan["dialplan_details"][$y]["dialplan_detail_order"] = $dialplan_detail_order; $y++; @@ -620,7 +621,7 @@ $dialplan["dialplan_details"][$y]["dialplan_detail_tag"] = "action"; $dialplan["dialplan_details"][$y]["dialplan_detail_type"] = xml::sanitize($row['condition_app']); $dialplan["dialplan_details"][$y]["dialplan_detail_data"] = xml::sanitize($row['condition_data']); - $dialplan["dialplan_details"][$y]["dialplan_detail_group"] = '0'; + $dialplan["dialplan_details"][$y]["dialplan_detail_group"] = $dialplan_detail_group; $dialplan["dialplan_details"][$y]["dialplan_detail_order"] = $dialplan_detail_order; $y++; @@ -629,6 +630,7 @@ //increment the dialplan detail order $dialplan_detail_order = $dialplan_detail_order + 10; + $dialplan_detail_group = $dialplan_detail_group + 10; } } @@ -646,7 +648,7 @@ $dialplan["dialplan_details"][$y]["dialplan_detail_type"] = "destination_number"; } $dialplan["dialplan_details"][$y]["dialplan_detail_data"] = $destination_number_regex; - $dialplan["dialplan_details"][$y]["dialplan_detail_group"] = '1'; + $dialplan["dialplan_details"][$y]["dialplan_detail_group"] = $dialplan_detail_group; $dialplan["dialplan_details"][$y]["dialplan_detail_order"] = $dialplan_detail_order; $y++; @@ -663,7 +665,7 @@ $dialplan["dialplan_details"][$y]["dialplan_detail_type"] = "set"; $dialplan["dialplan_details"][$y]["dialplan_detail_data"] = "hangup_after_bridge=true"; $dialplan["dialplan_details"][$y]["dialplan_detail_inline"] = "true"; - $dialplan["dialplan_details"][$y]["dialplan_detail_group"] = '1'; + $dialplan["dialplan_details"][$y]["dialplan_detail_group"] = $dialplan_detail_group; $dialplan["dialplan_details"][$y]["dialplan_detail_order"] = $dialplan_detail_order; $y++; @@ -677,7 +679,7 @@ $dialplan["dialplan_details"][$y]["dialplan_detail_type"] = "set"; $dialplan["dialplan_details"][$y]["dialplan_detail_data"] = "continue_on_fail=true"; $dialplan["dialplan_details"][$y]["dialplan_detail_inline"] = "true"; - $dialplan["dialplan_details"][$y]["dialplan_detail_group"] = '1'; + $dialplan["dialplan_details"][$y]["dialplan_detail_group"] = $dialplan_detail_group; $dialplan["dialplan_details"][$y]["dialplan_detail_order"] = $dialplan_detail_order; $y++; } @@ -693,7 +695,7 @@ $dialplan["dialplan_details"][$y]["dialplan_detail_type"] = "set"; $dialplan["dialplan_details"][$y]["dialplan_detail_data"] = "effective_caller_id_name=".$destination_cid_name_prefix."#\${caller_id_name}"; $dialplan["dialplan_details"][$y]["dialplan_detail_inline"] = "false"; - $dialplan["dialplan_details"][$y]["dialplan_detail_group"] = '1'; + $dialplan["dialplan_details"][$y]["dialplan_detail_group"] = $dialplan_detail_group; $dialplan["dialplan_details"][$y]["dialplan_detail_order"] = $dialplan_detail_order; $y++; @@ -709,7 +711,7 @@ $dialplan["dialplan_details"][$y]["dialplan_detail_type"] = "export"; $dialplan["dialplan_details"][$y]["dialplan_detail_data"] = "accountcode=".$destination_accountcode; $dialplan["dialplan_details"][$y]["dialplan_detail_inline"] = "true"; - $dialplan["dialplan_details"][$y]["dialplan_detail_group"] = '1'; + $dialplan["dialplan_details"][$y]["dialplan_detail_group"] = $dialplan_detail_group; $dialplan["dialplan_details"][$y]["dialplan_detail_order"] = $dialplan_detail_order; $y++; @@ -725,7 +727,7 @@ $dialplan["dialplan_details"][$y]["dialplan_detail_type"] = "set"; $dialplan["dialplan_details"][$y]["dialplan_detail_data"] = "carrier=$destination_carrier"; $dialplan["dialplan_details"][$y]["dialplan_detail_inline"] = "true"; - $dialplan["dialplan_details"][$y]["dialplan_detail_group"] = '1'; + $dialplan["dialplan_details"][$y]["dialplan_detail_group"] = $dialplan_detail_group; $dialplan["dialplan_details"][$y]["dialplan_detail_order"] = $dialplan_detail_order; $y++; @@ -741,7 +743,7 @@ $dialplan["dialplan_details"][$y]["dialplan_detail_type"] = "export"; $dialplan["dialplan_details"][$y]["dialplan_detail_data"] = "hold_music=".$destination_hold_music; $dialplan["dialplan_details"][$y]["dialplan_detail_inline"] = "true"; - $dialplan["dialplan_details"][$y]["dialplan_detail_group"] = '1'; + $dialplan["dialplan_details"][$y]["dialplan_detail_group"] = $dialplan_detail_group; $dialplan["dialplan_details"][$y]["dialplan_detail_order"] = $dialplan_detail_order; $y++; @@ -757,7 +759,7 @@ $dialplan["dialplan_details"][$y]["dialplan_detail_type"] = "export"; $dialplan["dialplan_details"][$y]["dialplan_detail_data"] = "sip_h_Alert-Info=".$destination_distinctive_ring; $dialplan["dialplan_details"][$y]["dialplan_detail_inline"] = "true"; - $dialplan["dialplan_details"][$y]["dialplan_detail_group"] = '1'; + $dialplan["dialplan_details"][$y]["dialplan_detail_group"] = $dialplan_detail_group; $dialplan["dialplan_details"][$y]["dialplan_detail_order"] = $dialplan_detail_order; $y++; @@ -775,7 +777,7 @@ $dialplan["dialplan_details"][$y]["dialplan_detail_type"] = "set"; $dialplan["dialplan_details"][$y]["dialplan_detail_data"] = "tone_detect_hits=1"; $dialplan["dialplan_details"][$y]["dialplan_detail_inline"] = "true"; - $dialplan["dialplan_details"][$y]["dialplan_detail_group"] = '1'; + $dialplan["dialplan_details"][$y]["dialplan_detail_group"] = $dialplan_detail_group; $dialplan["dialplan_details"][$y]["dialplan_detail_order"] = $dialplan_detail_order; $y++; @@ -789,7 +791,7 @@ $dialplan["dialplan_details"][$y]["dialplan_detail_type"] = "set"; $dialplan["dialplan_details"][$y]["dialplan_detail_data"] = "execute_on_tone_detect=transfer ".$fax_extension." XML \${domain_name}"; $dialplan["dialplan_details"][$y]["dialplan_detail_inline"] = "true"; - $dialplan["dialplan_details"][$y]["dialplan_detail_group"] = '1'; + $dialplan["dialplan_details"][$y]["dialplan_detail_group"] = $dialplan_detail_group; $dialplan["dialplan_details"][$y]["dialplan_detail_order"] = $dialplan_detail_order; $y++; @@ -802,7 +804,7 @@ $dialplan["dialplan_details"][$y]["dialplan_detail_tag"] = "action"; $dialplan["dialplan_details"][$y]["dialplan_detail_type"] = "tone_detect"; $dialplan["dialplan_details"][$y]["dialplan_detail_data"] = "fax 1100 r +5000"; - $dialplan["dialplan_details"][$y]["dialplan_detail_group"] = '1'; + $dialplan["dialplan_details"][$y]["dialplan_detail_group"] = $dialplan_detail_group; $dialplan["dialplan_details"][$y]["dialplan_detail_order"] = $dialplan_detail_order; $y++; @@ -823,7 +825,7 @@ $dialplan["dialplan_details"][$y]["dialplan_detail_type"] = "set"; $dialplan["dialplan_details"][$y]["dialplan_detail_data"] = "record_path=\${recordings_dir}/\${domain_name}/archive/\${strftime(%Y)}/\${strftime(%b)}/\${strftime(%d)}"; $dialplan["dialplan_details"][$y]["dialplan_detail_inline"] = "true"; - $dialplan["dialplan_details"][$y]["dialplan_detail_group"] = '1'; + $dialplan["dialplan_details"][$y]["dialplan_detail_group"] = $dialplan_detail_group; $dialplan["dialplan_details"][$y]["dialplan_detail_order"] = $dialplan_detail_order; $y++; @@ -837,7 +839,7 @@ $dialplan["dialplan_details"][$y]["dialplan_detail_type"] = "set"; $dialplan["dialplan_details"][$y]["dialplan_detail_data"] = "record_name=\${uuid}.\${record_ext}"; $dialplan["dialplan_details"][$y]["dialplan_detail_inline"] = "true"; - $dialplan["dialplan_details"][$y]["dialplan_detail_group"] = '1'; + $dialplan["dialplan_details"][$y]["dialplan_detail_group"] = $dialplan_detail_group; $dialplan["dialplan_details"][$y]["dialplan_detail_order"] = $dialplan_detail_order; $y++; @@ -851,7 +853,7 @@ $dialplan["dialplan_details"][$y]["dialplan_detail_type"] = "set"; $dialplan["dialplan_details"][$y]["dialplan_detail_data"] = "record_append=true"; $dialplan["dialplan_details"][$y]["dialplan_detail_inline"] = "true"; - $dialplan["dialplan_details"][$y]["dialplan_detail_group"] = '1'; + $dialplan["dialplan_details"][$y]["dialplan_detail_group"] = $dialplan_detail_group; $dialplan["dialplan_details"][$y]["dialplan_detail_order"] = $dialplan_detail_order; $y++; @@ -865,7 +867,7 @@ $dialplan["dialplan_details"][$y]["dialplan_detail_type"] = "set"; $dialplan["dialplan_details"][$y]["dialplan_detail_data"] = "record_in_progress=true"; $dialplan["dialplan_details"][$y]["dialplan_detail_inline"] = "true"; - $dialplan["dialplan_details"][$y]["dialplan_detail_group"] = '1'; + $dialplan["dialplan_details"][$y]["dialplan_detail_group"] = $dialplan_detail_group; $dialplan["dialplan_details"][$y]["dialplan_detail_order"] = $dialplan_detail_order; $y++; @@ -879,7 +881,7 @@ $dialplan["dialplan_details"][$y]["dialplan_detail_type"] = "set"; $dialplan["dialplan_details"][$y]["dialplan_detail_data"] = "recording_follow_transfer=true"; $dialplan["dialplan_details"][$y]["dialplan_detail_inline"] = "true"; - $dialplan["dialplan_details"][$y]["dialplan_detail_group"] = '1'; + $dialplan["dialplan_details"][$y]["dialplan_detail_group"] = $dialplan_detail_group; $dialplan["dialplan_details"][$y]["dialplan_detail_order"] = $dialplan_detail_order; $y++; @@ -893,7 +895,7 @@ $dialplan["dialplan_details"][$y]["dialplan_detail_type"] = "record_session"; $dialplan["dialplan_details"][$y]["dialplan_detail_data"] = "\${record_path}/\${record_name}"; $dialplan["dialplan_details"][$y]["dialplan_detail_inline"] = "false"; - $dialplan["dialplan_details"][$y]["dialplan_detail_group"] = '1'; + $dialplan["dialplan_details"][$y]["dialplan_detail_group"] = $dialplan_detail_group; $dialplan["dialplan_details"][$y]["dialplan_detail_order"] = $dialplan_detail_order; $y++; @@ -914,7 +916,7 @@ $dialplan["dialplan_details"][$y]["dialplan_detail_tag"] = "action"; $dialplan["dialplan_details"][$y]["dialplan_detail_type"] = $action_app; $dialplan["dialplan_details"][$y]["dialplan_detail_data"] = $action_data; - $dialplan["dialplan_details"][$y]["dialplan_detail_group"] = '1'; + $dialplan["dialplan_details"][$y]["dialplan_detail_group"] = $dialplan_detail_group; $dialplan["dialplan_details"][$y]["dialplan_detail_order"] = $dialplan_detail_order; //set inline to true