Hi,
look at this scenario:
UA --> SBC --> SIPproxy | | mediaproxy
(openser+mediaproxy)sbc use the mediaproxy for all calls. (mediaproxy) some external mediaproxy controlled by the proxydispatcher (openser)sipproxy do the accounting for the calls.
I have modified mediaproxy for sending e fake BYE message in case of timeout of media to the SIPproxy.
call UA<->UA, if during conference i disconnect the ethernet cable of both UA.. i need to bill anyway the call when media timeout.
this is a fake BYE generated from mediaproxy:
SBC - 82.215.130.50 SIPproxy - 82.215.130.51
U 82.215.130.50:60083 -> 82.215.130.51:5060 BYE sip:396006660097@82.215.130.51 SIP/2.0. Record-Route: sip:82.215.130.51;lr=on;ftag=2d8a17eda169fb3e. Max-Forwards: 69. Via: SIP/2.0/UDP 82.215.130.51. To: sip:0104491009@sbc.plexia.com;tag=dc6ec3b669dd8b16. From: sip:396006660097@sbc.plexia.com;tag=2d8a17eda169fb3e. Call-ID: d3ac49c2ba1793cd@82.215.128.140. Content-Length: 0.
the unique info i had for generate the fake BYE are: from_uri,to_uri,to_tag,from_tag,callid
the BYE is processed by openser without error but no radius accounting is sent.
3(8754) receive_msg: cleaning up
what i need to know is if i missing something essential in the BYE for the accounting.
3(8754) SIP Request: 3(8754) method: <BYE> 3(8754) uri: sip:396006660097@82.215.130.51 3(8754) version: <SIP/2.0> 3(8754) parse_headers: flags=2 3(8754) end of header reached, state=2 3(8754) parse_headers: Via found, flags=2 3(8754) parse_headers: this is the first via 3(8754) After parse_msg... 3(8754) preparing to run routing scripts... 3(8754) DEBUG:maxfwd:is_maxfwd_present: value = 69 3(8754) parse_headers: flags=10 3(8754) DEBUG: add_param: tag=dc6ec3b669dd8b16 3(8754) DEBUG:parse_to:end of header reached, state=29 3(8754) DBUG:parse_to: display={}, ruri={sip:0104491009@sbc.plexia.com} 3(8754) DEBUG: get_hdr_field: <To> [54]; uri=[sip:0104491009@sbc.plexia.com] 3(8754) DEBUG: to body [sip:0104491009@sbc.plexia.com] 3(8754) DEBUG: add_param: tag=2d8a17eda169fb3e 3(8754) DEBUG:parse_to:end of header reached, state=29 3(8754) DBUG:parse_to: display={}, ruri={sip:396006660097@sbc.plexia.com} 3(8754) parse_headers: flags=40 3(8754) DEBUG:avpops:dbstore_avps: 1 avps were stored 3(8754) DEBUG:avpops:dbstore_avps: 1 avps were stored 3(8754) avpops:ops_dbquery_avps: query [select value from usr_preferences where uuid='d3ac49c2ba1793cd@82.215.128.140' and attribute='setup_time'] 3(8754) avpops:ops_dbquery_avps: query [select value from usr_preferences where uuid='d3ac49c2ba1793cd@82.215.128.140' and attribute='connect_time'] 3(8754) avpops:ops_dbquery_avps: query [select value from usr_preferences where uuid='d3ac49c2ba1793cd@82.215.128.140' and attribute='disconnect_time'] 3(8754) avpops:ops_dbquery_avps: query [select value from usr_preferences where uuid='d3ac49c2ba1793cd@82.215.128.140' and attribute='valid_call'] 3(8754) db_flags=3, flags=4 3(8754) DEBUG:avpops:load_avps: loaded avps = 1 3(8754) DEBUG:avpops:check_avp: check <yes> against <yes> as str 3(8754) [ACCT] do the radius accounting 3(8754) parse_headers: flags=200 3(8754) DEBUG: get_hdr_body : content_length=0 3(8754) found end of header 3(8754) find_first_route: No Route headers found 3(8754) loose_route: There is no Route HF 3(8754) DEBUG:avpops:load_avps: loaded avps = 1 3(8754) [LID/CLI] Find association: 396006660097 390104491097 3(8754) subst_run: running. r=0 3(8754) subst_run: matched (0, 12): [390104491097] 3(8754) avpops:ops_subst: subst to 1 avps 3(8754) DEBUG:destroy_avp_list: destroying list 0x285287a0 3(8754) receive_msg: cleaning up
regards,
:tele