During our tests with yearly scenarios, we think we found two unexpected behaviors.
First, on the documentation, it is indicated that months can have a value between 1-12. However, we think that acceptable values can be between 0-11. Second, we tested a yearly recurrence on the last day of the month (e.g., 31 of December, 30 of November). With a valid timestamp, we always obtain not match on tmrec. We tested the penultimate day of the month (e.g., 30 of December, 29 of November) and, both days work with a valid timestamp. With these scenarios, it seems that the monthly and yearly problems always occur with the last occurrence of an event. On Tue, Feb 25, 2020 at 11:56 AM David Gonçalves < [email protected]> wrote: > Hi, > > During some tests with the module tmrec, we stumble upon an unexpected > behavior of the monthly recurrence with days of the week. > The last week does not match our expected date. > For example, the last Monday of March 2020 is day 30 (fifth Monday of > the month) however, neither the 5MO or -1MO configuration on the bday > parameter match with a timestamp configured to day 30. The same situation > is verified on months with only 4 weeks. > > To easily explain the behavior we create this configuration: > > $var(ts)="1584355625"; # Monday, March 16, 2020 10:47:05 > if(tmrec_match("20200101T090000|PT8H|monthly||1|3MO||||","$(var(ts){s.int})")) > { > xlog("L_INFO","Epoch $var(ts) matches with 3MO\n"); > }else{ > xlog("L_INFO","Epoch $var(ts) doesn't match with 3MO\n"); > } > > $var(ts)="1584960425"; # Monday, March 23, 2020 10:47:05 > if(tmrec_match("20200101T090000|PT8H|monthly||1|4MO||||","$(var(ts){s.int})")) > { > xlog("L_INFO","Epoch $var(ts) matches with 4MO\n"); > }else{ > xlog("L_INFO","Epoch $var(ts) doesn't match with 4MO\n"); > } > > $var(ts)="1585565225"; # Monday, March 30, 2020 10:47:05 > if(tmrec_match("20200101T090000|PT8H|monthly||1|5MO||||","$(var(ts){s.int > })")){ > xlog("L_INFO","Epoch $var(ts) matches with 5MO\n"); > }else{ > xlog("L_INFO","Epoch $var(ts) doesn't match with 5MO\n"); > } > > $var(ts)="1584960425"; # Monday, March 23, 2020 10:47:05 > if(tmrec_match("20200101T090000|PT8H|monthly||1|-1MO||||","$(var(ts){s.int > })")){ > xlog("L_INFO","Epoch $var(ts) matches with -1MO\n"); > }else{ > xlog("L_INFO","Epoch $var(ts) doesn't match with -1MO\n"); > } > > The results were: > Epoch 1584355625 matches with 3MO > Epoch 1584960425 matches with 4MO > Epoch 1585565225 doesn't match with 5MO > Epoch 1584960425 matches with -1MO > > Are we configuring the tmrec_match wrongly? > > -- > > > Cumprimentos / Best regards, > > *David Gonçalves* > Research and Development Technician > > Phone: +351 256 370 980 > Email: [email protected] > > > > > -- Cumprimentos / Best regards, *David Gonçalves* Research and Development Technician Phone: +351 256 370 980 Email: [email protected]
_______________________________________________ Kamailio (SER) - Users Mailing List [email protected] https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
