Hi,
I'm using radius server to do an accounting, but it does not store an application type (audo/video). Audio/video calls has to be rated with cdrtool, that is why I need this information. It is not even sent through radius protocol, so the radius server cannot get it. My extra-params are:
modparam("acc", "radius_extra", "User-Name=$Au; \ Calling-Station-Id=$from; \ Called-Station-Id=$to; \ Sip-Translated-Request-URI=$avp(s:translated_uri); \ Sip-RPid=$avp(s:rpid); \ Source-IP=$si; \ Source-Port=$sp; \ Canonical-URI=$avp(s:can_uri); \ Billing-Party=$avp(s:billing_party); \ Divert-Reason=$avp(s:divert_reason); \ X-RTP-Stat=$hdr(X-RTP-Stat); \ Contact=$hdr(contact); \ Event=$hdr(event); \ SIP-Proxy-IP=$avp(s:sip_proxy_ip); \ ENUM-TLD=$avp(s:enum_tld)")
Suggestions? Thanks.
Hello,
if you need to store video/audio, then you need to check the sdp of 200ok and look for videa media stream. If found, sent an AVP saying it is video call and configure acc module to store it via an extra accounting detail.
Cheers, Daniel
On 10/26/10 12:53 PM, Mino Haluz wrote:
Hi,
I'm using radius server to do an accounting, but it does not store an application type (audo/video). Audio/video calls has to be rated with cdrtool, that is why I need this information. It is not even sent through radius protocol, so the radius server cannot get it. My extra-params are:
modparam("acc", "radius_extra", "User-Name=$Au; \ Calling-Station-Id=$from; \ Called-Station-Id=$to; \ Sip-Translated-Request-URI=$avp(s:translated_uri); \ Sip-RPid=$avp(s:rpid); \ Source-IP=$si; \ Source-Port=$sp; \ Canonical-URI=$avp(s:can_uri); \ Billing-Party=$avp(s:billing_party); \ Divert-Reason=$avp(s:divert_reason); \ X-RTP-Stat=$hdr(X-RTP-Stat); \ Contact=$hdr(contact); \ Event=$hdr(event); \ SIP-Proxy-IP=$avp(s:sip_proxy_ip); \ ENUM-TLD=$avp(s:enum_tld)")
Suggestions? Thanks.
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-users@lists.sip-router.org http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
2010/10/27 Daniel-Constantin Mierla miconda@gmail.com:
if you need to store video/audio, then you need to check the sdp of 200ok and look for videa media stream. If found, sent an AVP saying it is video call and configure acc module to store it via an extra accounting detail.
Hi, I don't think a proxy could inspect such information in a reliable way:
- The SDP could contain various streams (video, audio, msrp....). - The SDP response could accept/deny some of these streams. - Some streams could be changed/replaced in a re-INVITE or UPDATE method (and their responses).
So IMHO is much better to retrieve such information in the media server itself (if it exists).
Regards.
On 10/27/10 1:01 PM, Iñaki Baz Castillo wrote:
2010/10/27 Daniel-Constantin Mierlamiconda@gmail.com:
if you need to store video/audio, then you need to check the sdp of 200ok and look for videa media stream. If found, sent an AVP saying it is video call and configure acc module to store it via an extra accounting detail.
Hi, I don't think a proxy could inspect such information in a reliable way:
- The SDP could contain various streams (video, audio, msrp....).
- The SDP response could accept/deny some of these streams.
- Some streams could be changed/replaced in a re-INVITE or UPDATE
method (and their responses).
So IMHO is much better to retrieve such information in the media server itself (if it exists).
yes, but in the case you don't have media server, then sdp is the only way.
I know that some streams can be denied, but if they exists in sdp of 200ok, then they are the ones accepted.
Personally, charging end-to-end sip session based on content is never something safe. But if really needed, there can be a trade-off with data taken from signaling.
Cheers, Daniel