17-router = APIRouter(prefix="/phones", tags=["phones"])
18-
19:PHONE_RE = re.compile(r"^\+?[0-9][0-9 ()\-.]{4,30}$")
20-
21-
--
28-    def valid_phone(cls, v):
29-        v = v.strip()
30:        if not PHONE_RE.match(v):
31-            raise ValueError("Invalid phone number format")
32-        return v
--
127-            if not phone or phone.lower().startswith(("phone", "number", "#")):
128-                continue  # header
129:            if PHONE_RE.match(phone):
130-                entries.append({"phone": phone, "label": label})
131-            else:
--
136-            if not phone or phone.lower().startswith(("phone", "number", "#")):
137-                continue
138:            if PHONE_RE.match(phone):
139-                entries.append({"phone": phone, "label": ""})
140-            else:
