The '/presence?detailedTelephonyState=true' event filter won't give you all details of a call session. Use the /telephony/sessions/ event filter instead.
Look for an event like this to determine a warm transfer event and map the session ids or telephony session ids.
Remember that a call recording is not automatically continued (if auto-recording feature is not enabled) after the call is transferred to a new agent.
{
"body":{"sequence":9,
"sessionId":"600398999016", // origin session id
"telephonySessionId":"s-6885fcf7ff48428db455027955a59901", // origin tel session id
"parties":[
{
"accountId":"80964xxxx","extensionId":"59586xxxx",
"id":"p-6885fcf7ff48428db455027955a59901-2",
"direction":"Inbound",
"to":{"phoneNumber":"+1209248xxxx","name":"Agent 120","extensionId":"59586xxxx"},
"from":{"phoneNumber":"+1650513xxxx","name":"Phong Vu"},
"status":{
"code":"Gone",
"reason":"AttendedTransfer",
"peerId":{
"telephonySessionId":"s-5e9ea55d51ca43c5b555093b98e6be64", // new tel session id
"sessionId":"600400135016", // new session id
"partyId":"p-5e9ea55d51ca43c5b555093b98e6be64-1" // new party id
},
"rcc":false
},
"park":{},"missedCall":false,"standAlone":false,"muted":false}],"origin":{"type":"Call"}}
}