DIVF Dialplan » History » Revision 11
Revision 10 (laforge, 12/02/2023 09:48 AM) → Revision 11/14 (laforge, 12/02/2023 09:50 AM)
h1. DIVF Dialplan Our main yate switch (@divf.retronetworking.org) has (as of December 1st, 2023) the following philosophy of processing called/calling party numbers: h2. Incoming calls from ISDN (Q.931) attached subscribers/PBXs h3. PBXs within the +49-30 (or any other German area code prefix * Convert the Calling Number to _national_ national format, if it is _unknown_ "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_ national or _international_ international format, as neded (@convert_called@) ** if Called Number is _national_ national format, keep it ** if Called Number is _international_ international format, keep it ** if Called Number is _unknown_, unknown, translate as follows *** if it starts with 0049, strip that and change type to _national_ national *** if it starts with 00, strip that and change type to _international_ international *** if it starts with 0, strip that and change type to _national_ national * route _international_ international calls to international destinations (@intl_outbound@) ** convert Calling Number from _national_ national to _international_ international (@caller_to_intl@) * route _national_ national calls to national destinations (@natl_outbound@) ** block/drop calls to any prefixes reserved resrved 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":https://www.ckts.info/ h2. 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. h2. 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) h2. 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)