I’m using freepbx 2.2.2 with CustomContext and Dialplan Injection supplementary modules.
When I try to edit an Extension that has a non-blank Direct DID field, I always obtain “This DID is already associated with extension”.
I found that the new code that should avoid creating duplicated DIDs goes too far: it reports that the DID already exists, even if the Extension owning that DID is exactly the one that is being modified.
This is due to the fact that the code does not distinguish if the extension found having the same DID as the one being modified, is exactly the same extension.
I wrote the following simple patch to avoid this behaviour:
[code:1]— freepbx-2.2.2.orig/amp_conf/htdocs/admin/modules/core/functions.inc.php.orig 2007-06-10 15:14:27.000000000 +0200
+++ freepbx-2.2.2.orig/amp_conf/htdocs/admin/modules/core/functions.inc.php 2007-06-23 00:18:59.000000000 +0200
@@ -1355,7 +1355,7 @@
if (trim($directdid) != “”) {
$existing=core_did_get($directdid,"","");
$existing_directdid = empty($existing)?core_users_directdid_get($directdid):$existing;
-
if (!empty($existing) || !empty($existing_directdid)) {
-
if (!empty($existing) || ( !empty($existing_directdid) && $existing_directdid['extension'] != $extension ) ) { if (!empty($existing)) { echo "<script>javascript:alert('"._("A route with this DID already exists:")." ".$existing['extension']."')</script>"; } else {[/code:1]
It seems it’s working for me. Is there someone comfortable with freepbx coed who can review it and in case apply it to the main codebase?