[asterisk-ss7] libss7 - 2 signalling links

Daniel Bichara daniel at bichara.com.br
Mon Jan 14 08:28:46 CST 2008


We have two signalling links from Telco connected to the same asterisk
box. Both signaling links can address CICs on all E1s (they are
redundant signalling links):

                   - Port#1 (PC 1000)
asterisk (PC 333) -+
                   - Port#2 (PC 2000)

Port #1, PointCode 1000, CIC start with 1.
Port #2, PointCode 2000, CIC start with 231.

When we receive any message on Port#1from PC 1000 (UBL, IAM, RLC, etc.)
addressed to CICs on Port#2, we are getting unknow CIC error message.
The same when getting messages from PC 2000 addressed to CICs on Port#1
(from 1 to 31).

We noticed that SS7 messages are handled on chan_zap by ss7_linkset()
(ss7_event from ss7_start thread and mtp3_start and mtp2_start).

This way, there is no information on one linkset structure about the
CICs associated to the other linkset. There are many possible solutions:
1) Start a new CIC list associated to PC (my example PC 333) and
ss7_find_cic will work with this list. Adjustments on ss7_find_cic are
2) Keep a linkset index and ss7_find_cic will search on all linksets and
return the linkset pointer.
3) Reinject the event received on one linkset to other linksets with
same PC. I am not sure if  "answers" sent from other threads will be
well formed (we will return messages to other signaling points).

My concern is about locks, etc.

Any comment or feedback is welcome.



More information about the asterisk-ss7 mailing list