* Report OSP usage from destination * param transaction OSP transaction handle * param inbound Inbound info * param dest Destination * return 0 success */
| 642 | * return 0 success |
| 643 | */ |
| 644 | static int ospReportUsageFromDestination( |
| 645 | OSPTTRANHANDLE transaction, |
| 646 | osp_inbound* inbound, |
| 647 | osp_dest* dest) |
| 648 | { |
| 649 | OSPPTransactionSetSIPHeader(transaction, OSPC_SIPHEADER_FROM, OSPC_NFORMAT_DISPLAYNAME, inbound->fromdisplay); |
| 650 | |
| 651 | OSPPTransactionSetSIPHeader(transaction, OSPC_SIPHEADER_RPID, OSPC_NFORMAT_E164, inbound->rpiduser); |
| 652 | OSPPTransactionSetSIPHeader(transaction, OSPC_SIPHEADER_RPID, OSPC_NFORMAT_TRANSPORT, inbound->rpidhost); |
| 653 | OSPPTransactionSetSIPHeader(transaction, OSPC_SIPHEADER_PAI, OSPC_NFORMAT_E164, inbound->paiuser); |
| 654 | OSPPTransactionSetSIPHeader(transaction, OSPC_SIPHEADER_PAI, OSPC_NFORMAT_TRANSPORT, inbound->paihost); |
| 655 | OSPPTransactionSetSIPHeader(transaction, OSPC_SIPHEADER_PCI, OSPC_NFORMAT_E164, inbound->pciuser); |
| 656 | OSPPTransactionSetSIPHeader(transaction, OSPC_SIPHEADER_PCI, OSPC_NFORMAT_TRANSPORT, inbound->pcihost); |
| 657 | OSPPTransactionSetDiversion(transaction, inbound->divuser, inbound->divhost); |
| 658 | OSPPTransactionSetSIPHeader(transaction, OSPC_SIPHEADER_CONTACT, OSPC_NFORMAT_TRANSPORT, inbound->contacthost); |
| 659 | |
| 660 | OSPPTransactionSetChargingVector(transaction, inbound->pcvicid, NULL, NULL, NULL); |
| 661 | |
| 662 | OSPPTransactionSetSrcAudioAddr(transaction, inbound->srcmedia); |
| 663 | |
| 664 | OSPPTransactionSetProxyIngressAddr(transaction, inbound->ingressaddr); |
| 665 | |
| 666 | OSPPTransactionSetSrcServiceProvider(transaction, inbound->sp); |
| 667 | |
| 668 | OSPPTransactionSetCallPartyInfo(transaction, OSPC_CPARTY_SOURCE, NULL, inbound->userid, inbound->usergroup); |
| 669 | |
| 670 | OSPPTransactionSetCDRProxy(transaction, _osp_in_device, OSP_OPENSIPS, NULL); |
| 671 | |
| 672 | ospReportUsageWrapper( |
| 673 | transaction, /* In - Transaction handle */ |
| 674 | dest->lastcode, /* In - Release Code */ |
| 675 | 0, /* In - Length of call */ |
| 676 | inbound->authtime, /* In - Call start time */ |
| 677 | 0, /* In - Call end time */ |
| 678 | dest->time180, /* In - Call alert time */ |
| 679 | dest->time200, /* In - Call connect time */ |
| 680 | dest->time180 ? 1 : 0, /* In - Is PDD Info present */ |
| 681 | dest->time180 ? dest->time180 - inbound->authtime : 0, /* In - Post Dial Delay */ |
| 682 | ((dest->lastcode == 200) || (dest->lastcode == 300)) ? OSPC_RELEASE_UNKNOWN : OSPC_RELEASE_INTERNAL); |
| 683 | |
| 684 | return 0; |
| 685 | } |
| 686 | |
| 687 | /* |
| 688 | * Report originate call setup usage |
no test coverage detected