case EDSS1_Message::RELEASE:
case EDSS1_Message::RELEASE_COMPLETE:
$call->end = time();
+ //we need to load details here because they might not have been
+ //loaded yet, e.g. for calls to MSNs that have no phones.
+ $this->loadCallDetails($call);
$this->log->log('finishedCall', array('call' => $call));
unset($this->currentCalls[$callId]);
break;
public function loadCallDetails(CallMonitor_Call $call)
{
if ($call->type == CallMonitor_Call::INCOMING) {
- $call->fromName = $this->loadName($call->from);
+ if (!isset($call->fromName) || $call->fromName === null) {
+ $call->fromName = $this->loadName($call->from);
+ }
} else {
- $call->toName = $this->loadName($call->to);
+ if (!isset($call->toName) || $call->toName === null) {
+ $call->toName = $this->loadName($call->to);
+ }
}
}
public function loadCallDetails(CallMonitor_Call $call)
{
if ($call->type == CallMonitor_Call::INCOMING) {
- $call->fromName = $this->loadName($call->from);
+ if (!isset($call->fromName) || $call->fromName === null) {
+ $call->fromName = $this->loadName($call->from);
+ }
} else {
- $call->toName = $this->loadName($call->to);
+ if (!isset($call->toName) || $call->toName === null) {
+ $call->toName = $this->loadName($call->to);
+ }
}
}
public function loadCallDetails(CallMonitor_Call $call)
{
if ($call->type == CallMonitor_Call::INCOMING) {
- $call->fromLocation = $this->loadLocation($call->from);
+ if (!isset($call->fromLocation) || $call->fromLocation === null) {
+ $call->fromLocation = $this->loadLocation($call->from);
+ }
} else {
- $call->toLocation = $this->loadLocation($call->to);
+ if (!isset($call->toLocation) || $call->toLocation === null) {
+ $call->toLocation = $this->loadLocation($call->to);
+ }
}
}