We are trying to configure the ACC module to log the Reason: header found in SIP BYE and SIP 4xx messages sent by US carriers when making calls to the PSTN.
We have added a cause field (the Reason header contains the Q.850 cause code associated with telephony events, typically disconnect) to the acc and missed_calls tables (see tables description further below) and changed opensips.cfg to read that header and store it: modparam("acc", "db_flag", 2) modparam("acc", "db_missed_flag", 3) modparam("acc", "db_url", "mysql://root:[EMAIL PROTECTED]/opensips") modparam("acc", "db_extra", "from_uri=$fu;to_uri=$tu;request_uri=$ru;cause=$(hdr(Reason))") This works quite nicely for calls logged in the acc table, such as: mysql> select * from acc where date(time) = curdate() and (cause like '%850%') limit 1; +---------+--------+---------------+-----------------------+-----------------------------------------------------+----------+------------+---------------------+---------------------------------+---------------------------------+-----------------------------------+----------------+ | id | method | from_tag | to_tag | callid | sip_code | sip_reason | time | from_uri | to_uri | request_uri | cause | +---------+--------+---------------+-----------------------+-----------------------------------------------------+----------+------------+---------------------+---------------------------------+---------------------------------+-----------------------------------+----------------+ | 1903785 | BYE | 627B7414-1509 | telstage-3e5-492294f9 | [EMAIL PROTECTED] | 200 | Ok | 2008-11-18 05:12:55 | sip:[EMAIL PROTECTED] | sip:[EMAIL PROTECTED]:5060 | sip:88.88.88.88:5060;transport=udp | Q.850;cause=16 | +---------+--------+---------------+-----------------------+-----------------------------------------------------+----------+------------+---------------------+---------------------------------+---------------------------------+-----------------------------------+----------------+ 1 row in set (1.58 sec) The cause field contains "Q.850;cause=16" taken from the Reason: header. However, the same Reason: header is NOT logged for calls found in the missed_calls table: mysql> select * from missed_calls where date(time) = curdate() and sip_code = 480 limit 1; +---------+--------+------------------------+--------------+-----------------------------------------------------+----------+---------------------------+---------------------+---------------------------------+---------------------------------+---------------------------------+-------+ | id | method | from_tag | to_tag | callid | sip_code | sip_reason | time | from_uri | to_uri | request_uri | cause | +---------+--------+------------------------+--------------+-----------------------------------------------------+----------+---------------------------+---------------------+---------------------------------+---------------------------------+---------------------------------+-------+ | 1231364 | INVITE | telstage-5d06-492293b5 | 627682C8-40F | [EMAIL PROTECTED] | 480 | Temporarily Not Available | 2008-11-18 05:06:51 | sip:[EMAIL PROTECTED]:5060 | sip:[EMAIL PROTECTED] | sip:[EMAIL PROTECTED] | | +---------+--------+------------------------+--------------+-----------------------------------------------------+----------+---------------------------+---------------------+---------------------------------+---------------------------------+---------------------------------+-------+ 1 row in set (1.09 sec) Note that the cause field is empty, while the OpenSIPS logs clearly show a Reason: header present in the SIP 480 message: Nov 18 05:06:51 sip100 /usr/local/sbin/opensips[20355]: TRACE:ONREPLY_ROUTE: src(200.0.0.0:5060) dst(63.63.63.63:5060) msg(SIP/2.0 480 Temporarily Not Available^M Via: SIP/2.0/UDP 63.63.63.63;branch=z9hG4bK96cf.a009bc13.0,SIP/2.0/UDP 88.88.88.88:5060;branch=z9hG4bK492293b5-0154-0013be66-6d9882a2-bafcf3d3^M From: <sip:[EMAIL PROTECTED]:5060>;tag=telstage-5d06-492293b5^M To: sip:[EMAIL PROTECTED];tag=627682C8-40F^M Date: Tue, 18 Nov 2008 10:06:45 GMT^M Call-ID: [EMAIL PROTECTED] Server: Cisco-SIPGateway/IOS-12.x^M CSeq: 13960 INVITE^M Allow-Events: telephone-event^M Reason: Q.850;cause=18^M Content-Length: 0^M ^M ) Is this a bug from the ACC module or a limitation, i.e. SIP 4xx messages are not handled in the same way as the BYE messages in the acc table? Any advice would be most appreciated!! Serge PS: here are the schemas we're using for the acc and missed_calls tables: mysql> describe acc; +-------------+------------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-------------+------------------+------+-----+---------+----------------+ | id | int(10) unsigned | NO | PRI | NULL | auto_increment | | method | varchar(16) | NO | | | | | from_tag | varchar(64) | NO | | | | | to_tag | varchar(64) | NO | | | | | callid | varchar(64) | NO | MUL | | | | sip_code | varchar(3) | NO | | | | | sip_reason | varchar(32) | NO | | | | | time | datetime | NO | | | | | from_uri | varchar(64) | NO | | | | | to_uri | varchar(64) | NO | | | | | request_uri | varchar(64) | NO | | | | | cause | varchar(60) | YES | | NULL | | +-------------+------------------+------+-----+---------+----------------+ 12 rows in set (0.00 sec) mysql> describe missed_calls; +-------------+------------------+------+-----+---------+----------------+ | Field | Type | Null | Key | Default | Extra | +-------------+------------------+------+-----+---------+----------------+ | id | int(10) unsigned | NO | PRI | NULL | auto_increment | | method | varchar(16) | NO | | | | | from_tag | varchar(64) | NO | | | | | to_tag | varchar(64) | NO | | | | | callid | varchar(64) | NO | MUL | | | | sip_code | varchar(3) | NO | | | | | sip_reason | varchar(32) | NO | | | | | time | datetime | NO | | | | | from_uri | varchar(64) | NO | | | | | to_uri | varchar(64) | NO | | | | | request_uri | varchar(64) | NO | | | | | cause | varchar(60) | YES | | NULL | | +-------------+------------------+------+-----+---------+----------------+ 12 rows in set (0.00 sec) -- View this message in context: http://www.nabble.com/ACC-module-issue-logging-Reason%3A-SIP-header-in-missed_calls-tp20569925p20569925.html Sent from the OpenSER Users Mailing List mailing list archive at Nabble.com. _______________________________________________ Users mailing list Users@lists.kamailio.org http://lists.kamailio.org/cgi-bin/mailman/listinfo/users