Actions
DIVF Dialplan¶
Our main yate switch (@divf.retronetworking.org) has (as of December 1st, 2023) the following philosophy of processing called/calling party numbers:
Incoming calls from ISDN (Q.931) attached subscribers/PBXs¶
PBXs within the +49-30 (or any other German area code prefix¶
- Convert the Calling Number to national format, if it is unknown (
caller_to_national
)- this means something like 03012342111/unknown/isdn or 03012342111/unknown/unknown gets translated to 3012342111/national/isdn
- collect all the overlapped digits
- directly route calls of any type to old 4-digit short-hand codes for backwards compatibility (i.e. 2yyy, 3yyy, 4yyy, 9yyy, 9yyyy)
- convert Called Number to national or international format, as neded (
convert_called
)- if Called Number is national format, keep it
- if Called Number is international format and does start with 49, translate to national and strip 49
- if Called Number is international format and does not start with 49, keep it
- if Called Number is unknown, translate as follows
- if it starts with 0049, strip that and change type to national
- if it starts with 00, strip that and change type to international
- if it starts with 0, strip that and change type to national
- if Called Number is network specific, convert type to international
- this is for incoming calls from cquirin who uses network specific for C*NET (and national/international only for the real PSTN)
- route international calls to international destinations (
intl_outbound
)- convert Calling Number from national to international (
caller_to_intl
)
- convert Calling Number from national to international (
- route national calls to national destinations (
natl_outbound
)- block/drop calls to any prefixes reserved in German national diaplan (like 500/501, 701, 801, 90[1-5], ...)
- route anything to area code 30 to
berlin
- route anything to area code 4644 to the EWSD of jolly (via national ISUP/SS7 via TDMoIP)
- prefix-match to direct international interconnects
- 4205 gets routed to jpesak EWSD (via international ISUP/SS7 over TDMoIP)
- anything else gets routed via enumroute to C-NET / CKTS
Incoming calls from C*NET/CKTS via IAX (@cnet_incoming)¶
In C*NET, all calls routed via their enum / IAX2 are using international digits like 493012342111. I'm not sure on what guarantees we can make about the type, though.
- if the Called Party starts with 49 (irrespective of type), route via
natl_outbound
on the remainder - reject anything else, also avoid falling-back to enumroute so we don't create loop routes from C*NET to C*NET.
Incoming calls via international ISUP/SS7 links (ss7_incoming_intl
)¶
- reject any incoming calls that do not have an international Calling Party
- reject any incoming calls that do not h ave an international Called Party
- if it starts with 49 and includes the "complete" digit (F), strip the 49 prefix and route via
natl_outbound
(see above)
Incoming calls via national ISUP/SS7 links (ss7_incoming_natl
)¶
- route calls to international Called Party via
intl_outbound
(see above) - route calls to national Called Party that end in a signalling complete digit (F) via
natl_outbound
(see above)
Updated by laforge 23 days ago · 14 revisions