[reSIProcate] stuff not in 1.8 branch

Scott Godin sgodin at sipspectrum.com
Tue Aug 7 08:30:38 CDT 2012


FYI - I'm pretty sure all of these changes are related to one feature.  The
new accounting framework that I put in.  Here are the commit notes for
anyone who's interested.  Reminder - this is on main only and not in 1.8.

 Add registration and call/session accounting
 --------------------------------------------
 -configured/enabled via configuration file

 -Session Accounting - When enabled resiprocate will push a JSON formatted
  events for sip session related messaging that the proxy receives,
  to a persistent message queue that uses berkeleydb backed storage.
  The following call events are logged:
    SessionCreated - INVITE passing authentiation was received
    SessionRouted - received INVITE was forward to a target
    SessionRedirected - session was 3xx redirected or REFERed
    SessionEstablished - there was 2xx answer to an INVITE (only
generate for first 2xx)
    SessionCancelled - CANCEL was received
    SessionEnded - BYE was received from either end
    SessionError - a 4xx, 5xx, or 6xx response was sent to invitor

 -Registration Accounting - When enabled resiprocate will push a JSON formatted
  events for every registration, re-registration, and unregistration message
  received to a persistent message queue that uses berkeleydb backed storage.
  The following registration events are logged:
    RegistrationAdded - initial registration received
    RegistrationRefreshed - registration refresh received / re-register
    RegistrationRemoved - registration removed by client / un-register
    RegistrationRemovedAll - all contacts registration remove /
unregister received

 -Consuming Accounting Events:
  Users must ensure that the message queues are consumed, or they will
grow without
  bound.  A queuetostream consumer process is provided, that will consume the
  events from the message queue and stream them to stdout.  This
output stream can
  be consumed by linux scripting tools and converted to database records or some
  other relevant representation of the data.
  For example:
  ./queuetostream ./sessioneventqueue > sessionstreamconsumer.py
  ./queuetostream ./regeventqueue > regstreamconsumer.py
  In the future a MySQL consumer may also be provided in order to update
  session accounting records in a MySQL database table.


On Mon, Aug 6, 2012 at 2:28 PM, Daniel Pocock <daniel at pocock.com.au> wrote:

>
>
>
> I notice various things have changed on main but are not in the 1.8
> branch for 1.8.5
>
> svn diff \
>  https://svn.resiprocate.org/rep/resiprocate/branches/resiprocate-1.8 \
>  https://svn.resiprocate.org/rep/resiprocate/main
>
>
> I've attached a diff between the branches, here is a summary of the
> files that are involved:
>
>  ChangeLog
>  reSIProcate_8_0.sln
>  resip/dum/RegistrationHandler.hxx
>  resip/stack/Token.cxx
>  resip/stack/ParameterHash.gperf
>  resip/stack/ParameterTypes.hxx
>  resip/stack/ParameterTypeEnums.hxx
>  resip/stack/TransportSelector.cxx
>  resip/stack/gperf_w32.bat
>  resip/stack/ParameterTypes.cxx
>  resip/stack/ParameterHash.cxx
>  resip/stack/Token.hxx
>  reSIProcate_9_0.sln
>  repro/VERSION
>  repro/reprolib_8_0.vcproj
>  repro/WebAdmin.cxx
>  repro/Registrar.cxx
>  repro/ResponseContext.cxx
>  repro/AccountingCollector.hxx
>  repro/PersistentMessageQueue.cxx
>  repro/Proxy.cxx
>  repro/monkeys/StrictRouteFixup.cxx
>  repro/monkeys/GeoProximityTargetSorter.cxx
>  repro/monkeys/GeoProximityTargetSorter.hxx
>  repro/monkeys/CertificateAuthenticator.hxx
>  repro/monkeys/AmIResponsible.cxx
>  repro/reprolib_9_0.vcproj
>  repro/repro.config
>  repro/RequestContext.cxx
>  repro/ReproRunner.cxx
>  repro/reprolib_10_0.vcxproj
>  repro/reprolib_10_0.vcxproj.filters
>  repro/AccountingCollector.cxx
>  repro/Registrar.hxx
>  repro/reprocmd/reprocmd.cpp
>  repro/PersistentMessageQueue.hxx
>  repro/Proxy.hxx
>  repro/accountingconsumers/queuetostream_10_0.vcxproj.filters
>  repro/accountingconsumers/queuetostream.cpp
>  repro/accountingconsumers/Makefile.am
>  repro/accountingconsumers/queuetostream_10_0.vcxproj
>  repro/accountingconsumers/queuetostream_9_0.vcproj
>  repro/RequestContext.hxx
>  repro/Makefile.am
>  reSIProcate_10_0.sln
>  rutil/cajun/ReleaseNotes.txt
>  rutil/cajun/json/elements.h
>  rutil/cajun/json/writer.h
>  rutil/cajun/json/reader.inl
>  rutil/cajun/json/visitor.h
>  rutil/cajun/json/reader.h
>  rutil/cajun/json/elements.inl
>  rutil/cajun/json/writer.inl
>  rutil/cajun/Readme.txt
>  rutil/TimeLimitFifo.hxx
>  rutil/WinCompat.hxx
>  rutil/FileSystem.cxx
>  rutil/WinCompat.cxx
>  rutil/FileSystem.hxx
>  rutil/Makefile.am
>  configure.ac
>
> _______________________________________________
> resiprocate-devel mailing list
> resiprocate-devel at resiprocate.org
> https://list.resiprocate.org/mailman/listinfo/resiprocate-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://list.resiprocate.org/pipermail/resiprocate-devel/attachments/20120807/cba4de6b/attachment.htm>


More information about the resiprocate-devel mailing list