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
}
}
]
},