apply_rewrite demands a billing subscriber object
this resulted in an uncaught server error before
Change-Id: Ia11dc12b8a1a2f71b74881356dcd0b1ec7bf73fc
added checking and persisting of timezone for
+ panel UI subscriber create
+ POST /api/subscribers
+ PUT /api/subscriber/x
+ PATCH /api/subscriber/x
+ central is_valid_timezone_name method
Change-Id: I59865f5af33a71e5b5032dc35ba9c41eca74b04c
* new "Manager Secretary" call forwarding type
* new /api/managersecretary
- controls "Manager Secretary" call forwarding auto set
* support Prefer='internal' to avoid all form validations,
and creations as well as no hal is created but json body
is returned instead. only usable on port 1442 for
internal ngcp api clients.
* Role/API valid_uuid() check
Change-Id: I826138d8cdbce737c09c3b98bc7bdd905d09e81c
from perl core documentation:
> $& returns the entire matched string.
> (At one point $0 did also, but now it returns the name of the program.)
Change-Id: Ia884ac758c91da7e365f609c2d5f0dbe784e763b
OR-part must go into parantheses, otherwise $c->user is called
on an undefined $c if $c is not passed in.
Change-Id: Iebc07eb19ae306c61fbcfd39f35325b3c69d2bc4
-introduce deferred event record insertion, to span across
update_subscriber_number and update_subadmin_sub_aliases
calls by handing over a snapshot of aliases before number
edit operations
-the snapshot is used to persist first_non_primary_alias_before
event values
-it also is the preparation to derive number change events
apart from that, the following was noticed:
-fix: start_huntgroup was generated twice
-fix: when terminating a subs, the order of end events was
not the reverse order of start_events
-POST /api/subscribers does not consider pbx alais selection
of pilot pool aliases, while terminating the susbcriber does
move back alaises to the pilot pool.
Change-Id: I092f4a21bed25503f48c47c253f1cae0729f43da
- extended apply_rewrite to allow "rwr_rs" parameter to
override rewrite rule set
- added lookup functions for Subscriber and Peering to
perform a lookup based on calleer/callee
Change-Id: Iceea7a807587e12e1f5485998ade23bc932adaaf
any *attempt* of a top-up request should be
logged.
+create top-up log records for api
in order to record failed top-up requests as well,
the somewhat tricky thing is to have two
separate transactions here
+propery casting of topup request json field
values to numbers etc., so the transaction for
creating the log entry cannot fail and e.g.
requests with subscriber_id='blah' are recorded
correctly
+new "request_token" parameter for /api/topupvoucher
and /api/topupcash, to identify and filter for
particular requests.
+topup log api resource
+topup log api tests
+fix to correctly reject used vouchers
+topup log panel UI
+fix for balanceintervals.t threaded tests
Change-Id: I86eb845f6173803705b12cc7e5cdbac9a3153a0a
Cli can be edited through subscriberpreferences.
In such case it's value should be preserved on primary_number change.
Change-Id: I6b9d4a8d70e6e85dd9e2bf063cf4c047296deea1
in short: whenever the contract_balances "cash_balance" is
about to decrease, it might drop below thresholds defined
by a contract's profile package. in that case, subscribers
are to be locked and/or underrun billing profile sets are
to be applied. this commit also contains some minor fixes:
+when creating/editing profile packages, all billing
profiles of initial, topup, underrun sets must show the
same interval_free_cash and interval_free_time values.
there was also a problem with adding profile sets to
packages that use profile with prepaid = 1 (see ticket
14301)
+when editing packages using the panel UI, the validation
was not properly invoked (!) +the frequency of topups has
to be limited to 1 per second.
+updating the "lock" subscriber prior to editing or viewing
it in the panel UI was added.
+topup cash and topup voucher panel UI added
+when aquiring multiple contract row locks at once, no
joined tables are used any mure. the number of row locks
is therefore minimal now (see ticket 14903)
+rework of updating prepaid subscriber preference
Change-Id: Ideb0fec2404ca10b3ac5d8735f53620d0c3a24ed
previously all primary numbers have been filtered out.
This is wrong, if the number has been the primary number
of a previous (terminated) subscriber.
Change-Id: Iebbd96898715d86bfd10ac6d2d084c46de08def6
get it directly without accessing provisioning.voip_subscriber
and notify about terminated subscribers
Change-Id: Ife6d936c052b3dcda0f03013ee53bafa34b9f19b
If no primary number is given but a number range is provided, use
the first of the range as primary number.
Change-Id: I9b3a7bf1d4b1523f9cd0af3a3a7a70c95bb8d3ab
This makes it backwards-compatible to ossbss. At some point, the
timezone should be taken from the customer or domain, but that would
need to affect also CDRs etc.
Load the AVPs from the same subscriber as for caller, as we should
not intermix them anyways.
Treat non-existent vars as empty vars like kamailio does.
- Migrate from custom subscriber struct to normal resultset.
- Properly handle boolean input in form processing (convert to
int, otherwise formhandler fails while cloning when doing the
processing).
- Properly handle profile set editing in API
- Cleanup of log messages
Printing a hash with Data::Printer causes at least the API to not
return the hash, and back-porting libclone-perl to wheezy to fix it
caused the whole panel to get stuck.