[asterisk-ss7] chan_ss7, sangoma A104 to local telecom partner, bridge to SIP, Hangup Cause 41
Robert Verspuy
robert at exa-omicron.nl
Wed Oct 1 10:16:34 CDT 2008
Robert Verspuy wrote:
>
> So I think we have two ways:
> 1) change something in chan_ss7 to return the correct channel (on
> combined linkset) by supplying the peer PC to find_pvt
> 2) Or ask my local telco to change the CIC on PC 110 to 33-47,49-63
>
My local telco didn't want to change the CIC codes, so I jumped into the
code, and made some changes to the find_pvt.
I've created my own find_pvt as find_pvt_with_pc (see below) and changed
all references to find_pvt to my version, which included the msg->opc or
someting similar.
And now, I have 2 working links. both links have 30 channels in idle.
Channels can be blocked and released from remote.
Even an testcall to the Echo application works over both channels.
But now my following problem.
When trying to forward an incoming SS7 call to a SIP channel.
-- Executing [20xxxxxxx at from-ss7-kpnglasvezel:1]
Dial("SS7/KPN-Rt/1", "SIP/switch-1/2762") in new stack
-- Called switch-1/2762
-- SIP/switch-1-0dd60c90 is making progress passing it to SS7/KPN-Rt/1
Really destroying SIP dialog
'749a4bac1c8077d650593da1423cb29e at xxx.xxx.xxx.xxx' Method: INVITE
== Spawn extension (from-ss7-kpnglasvezel, xxxxxxxxx, 1) exited
non-zero on 'SS7/KPN-Rt/1'
-- SS7 hangup 'SS7/KPN-Rt/1' CIC=1 Cause=41 (state=7)
When i create an audo dialout file (/var/spool/asterisk/outgoing) for
SIP/switch-1/2762 and then connecting it to the Echo application.
Anybody seen this kind of behaviour before?
Regards,
Robert
> static struct ss7_chan* find_pvt_with_pc(struct link* slink, int cic,
> int pc)
> {
> struct linkset* ls;
> int lsi;
>
> ls = slink->linkset;
> if (ls->dpc == pc) {
> if (ls->cic_list[cic])
> return ls->cic_list[cic];
> for (lsi = 0; lsi < n_linksets; lsi++)
> if (is_combined_linkset(ls, &linksets[lsi]))
> if (linksets[lsi].cic_list[cic])
> return linksets[lsi].cic_list[cic];
> } else {
> for (lsi = 0; lsi < n_linksets; lsi++)
> if (is_combined_linkset(ls, &linksets[lsi]))
> if (linksets[lsi].dpc == pc)
> if (linksets[lsi].cic_list[cic])
> return linksets[lsi].cic_list[cic];
> }
> return NULL;
> }
--
*Exa-Omicron*
Patroonsweg 10
3892 DB Zeewolde
Tel.: 088-OMICRON (66 427 66)
http://www.exa-omicron.nl
More information about the asterisk-ss7
mailing list