what is the logic of the call legs?
i mean - what's the rationale behind the creation of each leg?
i need to download call recordings. some times, the call has a few legs, each one has a recording element inside it. since i need to use the name of the caller and the called, how can
i decide, programmatically, which leg to use?
the names in the call's data ("to" "from" elements), most of the time if not in all cases, doesn't match the names in the legs' data ("leg.to" "leg.from" elements).
for instance, in the following call, there are 3 legs with recording elements.
what's the difference between them?
thanks,
{
"uri": URI,
"id": ID,
"sessionId": ID,
"startTime": "2017-10-18T16:00:44.059Z",
"duration": 60,
"type": "Voice",
"direction": "Inbound",
"action": "Phone Call",
"result": "Accepted",
"to": {
"phoneNumber": SOME_NUMBER
},
"from": {
"phoneNumber": SOME_NUMBER,
"name": SOME_NAME,
"location": SOME_LOCATION
},
"recording": {
"uri": CALL_URI,
"id": ID,
"type": "Automatic",
"contentUri": CONTENT_URI
},
"transport": "PSTN",
"lastModifiedTime": "2017-10-18T16:00:44.059Z",
"billing": {
"costIncluded": 0,
"costPurchased": 0
},
"legs": [
{
"startTime": "2017-10-18T16:00:44.059Z",
"duration": 60,
"type": "Voice",
"direction": "Inbound",
"action": "Phone Call",
"result": "Accepted",
"to": {
"phoneNumber": SOME_NUMBER
},
"from": {
"phoneNumber": SOME_NUMBER,
"name": SOME_NAME,
"location": SOME_LOCATION
},
"recording": {
"uri": SOME_URI,
"id": ID,
"type": "Automatic",
"contentUri": CONTENT_URI
},
"transport": "PSTN",
"billing": {
"costIncluded": 0,
"costPurchased": 0
},
"legType": "Accept"
},
{
"startTime": "2017-10-18T16:00:44.059Z",
"duration": 60,
"type": "Voice",
"direction": "Inbound",
"action": "Phone Call",
"result": "Accepted",
"to": {
"phoneNumber": SOME_NUMBER,
"name": SOME_NAME
},
"from": {
"phoneNumber": SOME_NUMBER,
"name": SOME_NAME,
"location": SOME_LOCATION
},
"recording": {
"uri": CALL_URI,
"id": ID,
"type": "Automatic",
"contentUri": CONTENT_URI
},
"transport": "PSTN",
"legType": "Accept",
"extension": {
"uri": SOME_URI,
"id": ID
}
},
{
"startTime": "2017-10-18T16:00:44.059Z",
"duration": 42,
"type": "Voice",
"direction": "Outbound",
"action": "FindMe",
"result": "Accepted",
"to": {
"phoneNumber": SOME_NUMBER,
"name": SOME_NAME,
"location": SOME_LOCATION
},
"from": {
"phoneNumber": SOME_NUMBER,
"name": SOME_NAME,
"device": {
"uri": ID,
"id": ID
}
},
"recording": {
"uri": CALL_URI,
"id": ID,
"type": "Automatic",
"contentUri": CONTENT_URI
},
"transport": "PSTN",
"legType": "FindMe",
"extension": {
"uri": ID,
"id": ID
}
}
]
},