Je complète mon analyse :

Sur Asterisk 13, j'utilise le dialplan suivant pour tester :

Code:
exten => _017013xxxx,1,Answer()
exten => _017013xxxx,n,wait(5)
exten => _017013xxxx,n,Dial(SIP/027273xxxx@CBV2-BCT1,20,gH)
exten => _017013xxxx,n,NoOp(DIALSTATUS is ${DIALSTATUS}, ANSWEREDTIME is ${ANSWEREDTIME}, DIALEDTIME is ${DIALEDTIME})
Et cela me donne le résultat suivant dans la console Asterisk :

Code:
    -- Executing [017013xxxx@public:1] Answer("SIP/CBV2-BCT1-0000002b", "") in new stack
    -- Executing [017013xxxx@public:2] Wait("SIP/CBV2-BCT1-0000002b", "5") in new stack
    -- Executing [017013xxxx@public:3] Dial("SIP/CBV2-BCT1-0000002b", "SIP/027273xxxx@CBV2-BCT1,20,gH") in new stack
  == Using SIP RTP CoS mark 5
    -- Called SIP/027273xxxx@CBV2-BCT1
    -- SIP/CBV2-BCT1-0000002c is ringing
    -- SIP/CBV2-BCT1-0000002c is making progress passing it to SIP/CBV2-BCT1-0000002b
    -- SIP/CBV2-BCT1-0000002c answered SIP/CBV2-BCT1-0000002b
    -- Channel SIP/CBV2-BCT1-0000002b joined 'simple_bridge' basic-bridge <f79aafa2-149a-49d0-b13b-1c3dee8c5db0>
    -- Channel SIP/CBV2-BCT1-0000002c joined 'simple_bridge' basic-bridge <f79aafa2-149a-49d0-b13b-1c3dee8c5db0>
    -- Channel SIP/CBV2-BCT1-0000002c left 'simple_bridge' basic-bridge <f79aafa2-149a-49d0-b13b-1c3dee8c5db0>
    -- Channel SIP/CBV2-BCT1-0000002b left 'simple_bridge' basic-bridge <f79aafa2-149a-49d0-b13b-1c3dee8c5db0>
    -- Executing [017013xxxx@public:4] NoOp("SIP/CBV2-BCT1-0000002b", "DIALSTATUS is ANSWER, ANSWEREDTIME is 19, DIALEDTIME is 19") in new stack
La variable DIALSTATUS récupère bien que l'appel a été décroché (j'ai BUSY si le poste sonne occupé) mais par contre les variables ANSWEREDTIME et DIALEDTIME ne contiennent pas les informations concernant l'appel sortant mais ceux de l'appel en cours.

Or, sur Asterisk 11 avec le même dialplan, les variables DIALSTATUS et ANSWEREDTIME ont les bonnes valeurs.
ANSWEREDTIME est à 2 ce qui est la durée effective de bridge des 2 appels. A partir de là, je peux récupérer la durée de sonnerie si je calcule la durée de la commande dial.

Code:
    -- Executing [testdial@public:5] NoOp("SIP/localhost-00000046", "testdial -> DIALSTATUS is ANSWER, ANSWEREDTIME is 2, DIALEDTIME is 20") in new stack
Il y a peut être eu des modifications entre les versions 11 et 13, mais je n'ai rien trouvé de tel dans les changelog.
Ou alors c'est un bug Asterisk, mais ce serait étrange.
Qu'en pensez-vous ?