Quote from: Obvdobi on October 23, 2011, 11:41:29 AM
Hmm, how to properly implement a recursiveness? I probably misunderstood how it works.
Generally, something is recursive when it references itself. For example:
Service Providers -> ITSP Profile A -> General -> DigitMap : (1xxxxxxxxxx|(Msp1))
This DigitMap would be catastrophic to use as it creates an endless loop which would crash the OBi.
While the DigitMap Processor (DMP) function in the OBi is almost certainly implemented as a recursive subroutine, using recursion in a DigitMap would be very rare and would require extreme care to avoid an endless loop.
What's used frequently is nested DigitMaps. For example:
Service Providers -> ITSP Profile A -> General -> DigitMap : (Mste)
User Settings -> User Defined Digit Maps -> User Defined Digit Map2:
Label: ste
DigitMap: (1xxxxxxxxxx|<1>[2-9]xxxxxxxxx|<1870>[2-9]xxxxxx|011xx.|(Mipd)|[^*]@@.'@'@@.)
User Settings -> User Defined Digit Maps -> User Defined Digit Map1:
Label: ipd
DigitMap: (xx.<*:@>xx?x?<*:.>xx?x?<*:.>xx?x?<*:.>xx?x?|xx.<*:@>xx?x?<*:.>xx?x?<*:.>xx?x?<*:.>xx?x?<*::>xx?x?x?x?)