fix(trunks): suppression de callerid dans endpoint trunk pour preserver l appelant reel entrant (v1.6.5)

This commit is contained in:
sorcier committed 2026-11-05 14:02:28 +01:00
1 parent c33d13a271
commit 6aa1d5d796
2 files changed
+6 -15

No files matched your search

+4 -14
View File
@@ -354,20 +354,10 @@ class ConfigGenerator
if ($outboundProxy !== '') {
$lines[] = "outbound_proxy = {$outboundProxy}";
}
if ($callerId !== '') {
if (preg_match('/^(?:\"?([^\"<>]+?)\"?\s*)?<([^>]+)>$/u', $callerId, $cm)) {
$cName = trim($cm[1] ?? '');
$cNum = trim($cm[2] ?? '');
if ($cName !== '') {
$cNameClean = str_replace('"', '', $cName);
$lines[] = "callerid = \"{$cNameClean}\" <{$cNum}>";
} else {
$lines[] = "callerid = <{$cNum}>";
}
} else {
$lines[] = "callerid = {$callerId}";
}
}
// Note : Ne JAMAIS positionner la directive "callerid" dans la section endpoint d'un Trunk PJSIP.
// Dans Asterisk, "callerid" sur un endpoint sert de valeur par défaut pour les appels ENTRANTS,
// ce qui écraserait le numéro de l'appelant externe (ex: mobile 06...).
// Le CallerID sortant du Trunk (outbound_callerid) est appliqué uniquement dans le Dialplan sortant.
$lines[] = "disallow = all";
foreach ($codecs as $codec) {
$lines[] = "allow = {$codec}";