fix(plip): trust real SHK, drop hook forcing #26
Reference in New Issue
Block a user
Delete Branch "fix/plip-no-hook-forcing"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Audit : "pas de son dans le combiné" = bug logiciel (pas un contact crochet marginal)
Le SHK est fiable en hardware. Deux défauts logiciels, même racine (fausse hypothèse "contact marginal") :
1. Greeting muet (cause directe).
audio.c(CMD_PLAY) conditionnait la lecture WAV surphone_is_offhook()— drapeau débouncé de phone.c qui rate/retarde le décroché pendant la sonnerie — alors que le flux d'appel entrant n'établissait le décroché que via le poll SLIC brut dansconversation.c. Les deux drapeaux désynchronisaient → le greeting était jeté ("play ignored: on-hook") bien que le combiné soit levé.2. Forçage du hook.
s_hook_override+phone_force_offhook()+/debug/offhookforçaient l'état et restaient collés jusqu'au reboot.Correctif (SHK réel = source unique de vérité, zéro forçage)
audio.c: gateCMD_PLAYsurslic_is_offhook()(ligne réelle) au lieu dephone_is_offhook(). Tonalités non affectées (chemin I2S direct).phone.c: suppression des_hook_override, de la branche override, et dephone_force_offhook().net.c: suppression du handler/debug/offhook+ struct + enregistrement ;max_uri_handlers17→16.phone.h: déclaration retirée.−51 lignes nettes. Build ESP-IDF v5.4.4 OK.
Test (banc)
GET /debug/ring?number=18→ sonnerie → décrocher → le PNJ doit parler dans le combiné (greeting audible). Vérifiershk:truedans/statusau décroché.