If pcc is enabled for a subscriber, don't forward sms immediately,
rather than mark for forwarding and let the API forward it on
incoming request.
Change-Id: I75104266a1c1fccc7165af9ba65b31f085d7081f
Used to notify NGCP about pending calls and sms.
* /partycallcontrols is for handling incoming
call control requests from external API sources
Change-Id: I4d886f941f19f659017e32504fdb10e8ae02ba8b
we store it as is. but in order to preserve all information on callforwards,
we send those messages with the same coding as we receive them.
Change-Id: I3f72db4e19291aa2fb54d7aac000f88ad1874295
they may come in as utf-8 or utf-16. the latter causes catalyst
to die per default, which we circumvent. then we manually decode
the text in utf-16.
+ fix bug where last jumps out of subrouting causing an exception
Change-Id: I9df15317f4438b4205f7f0f6af26df8f85ae0614
+ api/events resource
+ removing an autoattendant via /api/callforwards: events OK
+ removing an autoattendant via /api/cfdestiantions: OK
+ removing an autoattendant via /api/cfmappings: OK
Change-Id: I4c309753b9338582479dba9951f757bb2ecaad7e
* caller/callee should not be used after rewrite rules
but caller_in/callee_in instead as they contain the
normalised values where caller/callee contain the original ones
Change-Id: I42081a6221945208477a1d0ce80b4d2369099242
* add a helper module Utils/DeviceFirmware.pm
* device firmware data upload internally splits
the data into 10MB chunks and upload it into
the new autoprov_firmwares_data table
* NGCP::Panel::Utils::insert_firmware_data()
* NGCP::Panel::Utils::download_firmware_data()
Change-Id: I91b2ae3d5b6c2d34c9d540ad816bb7549b4543cb
* webfax numbers representation is now handled by
NGCP::Utils::Fax::process_fax_journal_item
similar to process_cdr_item
* process_fax_journal_item supports pbx_entensions
and rewrite_rules in similar to process_cdr_item
Change-Id: I2457f35d96f478274f77a66729414330ffc01641
+1. terminate if terminated contracts or subscribers exists
+2. if active contracts or subscribers -> error
+3. delete otherwise
+customer contact api DELETE
+customer contact testcases
+customer api POST
+customer api PUT/PATCH
+system contact api DELETE
+system contact testcases
+contract api POST
+contract api PUT/PATCH
+panel UI contact delete
+panel UI contract create
no change panel UI contract update
+panel UI customer create
no change panel UI customer update
note contact links like customers.omm_contact or customers.tech_contact
are not considered.
Change-Id: I19ea6e2245282485cc30d3e92d17a2eb603e0c2d
* map regex fixed
* get_form may return an array with the exceptions now
* use get_item_id consistently
* use warnings and strict
Change-Id: I9f356814ecf4b51613d3aee3782a6b3b91f04cad
-undo unique lnp_numbers: undo misleading unique keys
-retain lnp_provider delete cascade restriction
-api: wire lnp_numbers_actual
-lnpnumbers collection pagination request takes several
seconds (up to tens of for 200k lnp numbers), too slow
especially for GET /api/lnpnumbers/?number=.. lookups
-query param is properly injected into the virtual view
sql query, so the lookup is fast now.
-panel UI custom datatable filter to switch between
complete history (all records) and actual portings
-"terminate" lnp number: DELETE /api/lnpnumbers/?number=x
+special use-case for melita's crm
+all empty or future "end" timestamps of records
are set to now(), so a subsequent listing shows no
records any more.
-number parameter is forced, other collection query params
are currently not supported for DELETE
Change-Id: I7b69d16a2d4f38ea84fc1cc0b407fa67e0f5ef8b
+all the contact's fields are exported to javascript
side. a custom renderer could also be used to display
a tooltip with all the contact's fields.
Change-Id: Icadcb07701d13ad4a619f429b9245f203d79b051
If set and a call is done within a pbx customer, the call is blocked
in blacklist, and is allowed in whitelist.
Change-Id: Ib43e5a45525a69e2b9dd9537dabddf10dfc006d1
- use the caller domain part in subscriber and peering lookups
- allowed_cli is checked after inbound rewrite rules
- peering lookup also requires a 3rd argument "prefix"
that matches the number and caller and callee are
expected to be uri.
Change-Id: I57e3ca01fc1bfa7dcddda90ed4176176713f6d2d
Auto-detect CSV separator (requested by customer).
Move reseller id out of CSV into form/api-param.
Fix empty prefix to store as NULL instead of empty string.
Change-Id: Id6776d3cddb6bc1745a23a79e9f590ef934608aa
values is the correct datastructure to be used to update the db
when using HTML::Formhandler. the reason is, it does de-/inflation
such as trim, which removes whitespaces at the beginning and end.
Change-Id: I5570e64b69fd9e8ed1bbbbc9cd880a381ac3cf68
Also call agent request in the update_item method, to make it more safe.
And added lost transaction commit
Fix 500 response for the incorret x3_port input
Change-Id: Ic538ffdd4d7fff833ba5395934a1b2bc6cf71664
The codebase does not use autodie directly, it does indirectly via
Sipwise::Base, and the autodie module is part of the standard perl
distribution anyway. TryCatch is imported via Sipwise::Base, and
that depends on it. The rest are not used anymore in the codebase.
Change-Id: Ic08e246cc60d7d151381dff39e0eba517a492e06
which implies, among others, strict and warnings. these should never
be omitted and are one of the most frequent complaints of perlcritic
currently.
as a result TryCatch can be removed (imported by Sipwise::Base).
also, "no Moose" is removed (has no effect).
Change-Id: I901b6a9f0f6d426f62b73e68f2c5ad6365c1eeef
by using a relative target url (without the host part) we make sure,
that when logging in as an admin we don't get redirected to a subscriber
page or vice versa. also simplifying the login controller a bit.
Change-Id: Ib9f0cdf7c687b711f8b357816e17a175efdfd1fe
format is
<external_documentation>
<link>
name Google
url http://elgoog.im/
</link>
<link>
name Sipwise Website
url https://sipwise.com/
</link>
</external_documentation>
Change-Id: Id9283f1df5fb5933fa6523cbf2f01a458fa21475
using (de|en)code_base64url because the callid can contain a lot of characters,
which are invalid in a url including forward slash and questionmark.
see https://tools.ietf.org/html/rfc3261#section-25
Change-Id: I9818e0e06e251c3f58a8b26e46973176162103c1
+prohibit deletion of lnp providers if numbers are
still linked to it
+number+provider must be unique
+fixed other panel lnp page validation checks
+db constraints to stand concurrent inserts/updates
+fixup all txn_do die() calls in panel to properly
display the error
+bulk upload checks by db constraints
+lnp api testcase
Change-Id: I872b19f50d96e6c39c7fd5728b2a16555a397236
Authoritative is rejecting call with 404 if number is not assigned
to local subscriber.
Skip Rewrite is skipping lnp rewrite rules.
Change-Id: I106df797a0b6530b4aaa0fc25ce54d3a459cbd97
a map used by the profile_edit logic mistakenly used
voip_subscriber_profile_attributes.id
as keys instead of
voip_preferences.id
keys.
so editing a subscriber profile seems to drop arbitrary
voip_usr_preferences values (and also cf mappings),
even when just changing the profile's name.
in addition, the resseller_edit config option is made
working as expected.
Change-Id: I75a60ee3e1e3889bdb16ccc0fa7d5661305f351c
in line with the web-login, a domain can be specified or defaults to
the request host.
because validating the format "username@domain" is not supported natively
by the catalyst HTTP auth plugin, the domain is checked manually at the
appropriate place.
Change-Id: Ifcc86234bc27598244788d1b4b07c2611c2e593b
this is neccessary to support multiple threads
plus remove the "handle" indirection
plus remove Moo - OO has no advantage here
Change-Id: I1c0657fd454c5dc2001404920abfadd01aa0a953
drop "inversion of control" loading them
this way we can remove MooseX::Object::Pluggable completely, which did
a filesystem search on _every_ panel page called.
Change-Id: If22dbb1a5a2ab24dee7af68a0085072ab1b2b855
using a direct relation to the required widgets instead of MooseX::Object::Pluggable
this also means additional widgets can easily enabled/disabled by the platform admin
in a next step, we can also refactor topmenu widget, to remove this completely
Change-Id: I890b47edc68b6d1df259d71075bda3c04045871e
Switch from the discouraged base module to the light-weight parent module.
Also remove some surrounding BEGIN blocks from 'use parent' which are
completely unnecessary.
Change-Id: I3a669e8024f098819be45030ca9d1afa8756105c
If we have a 20M lnp file to upload, putting everything into the
numbers array is killing the fcgi process on low-mem machines.
Make sure to write each 2k chunk to DB and clear the array
afterwards.
Change-Id: I857be5d6a0195607b1fcb86db3327a9fd10ce5f1
Make LNP number params optional.
Fix clearing optional LNP number params.
Fix rewrite rule inflation, deflation and validation (doesn't seem
related to the lnp rwr changes, just started to not work anymore?).
Change-Id: If2278ad6dceacb84facd0397388ee2895b120b00