Skip to end of metadata
Go to start of metadata

Problem

Had this crazy idea of collecting CDRs from bunch of Asterisk boxes using AMQP (Qpid) cluster on CentOS 5.

I already had:

  • hardware
    • 8 SUN servers, each running 8E1s worth of SS7
    • 3 SUN servers for backend (DB cluster, management interface, monitoring)
  • software
    • Sangoma Media Gateway cluster
    • CentOS 5.0
    • MySQL Main Memory Cluster (carrier grade stuff)
    • MySQL Master/Master cluster (mmm managed)
    • Asterisk 1.4.17

I needed:

  • realtime CDR collection replicated to several independent RDBS instead of current local cvs storage replicated to a MySQL master/master cluster
  • test several new (to this setup) technologies
    • AMQP cluster
    • MemCache
  • get rid of MySQL cluster and master/master setup (too much operational overhead)
  • have everything replicated durably on messaging level not DB level.

Things I needed for above to happen:

  • Install this stuff on CentOS 5
    • Adhearsion
    • Apache QPID
    • MemCache
    • cdr_manager module for Asterisk
  • Write some apps in Ruby
    • Adhearsion CDR2MQ
    • Ruby MQ2SQL

Prototype

To get my idea tested first I used stompserver instead of AMQP Qpid cluster