2017-06-16 14:49:52 +00:00
|
|
|
const mongoose = require('mongoose');
|
|
|
|
const Schema = mongoose.Schema;
|
|
|
|
|
|
|
|
const Subscriber = new Schema({
|
2017-06-17 02:35:12 +00:00
|
|
|
imsi: { $type: String, unique: true, required: true },
|
2017-06-16 14:49:52 +00:00
|
|
|
|
2017-06-25 05:45:49 +00:00
|
|
|
security: {
|
|
|
|
k: String,
|
|
|
|
op: String,
|
|
|
|
amf: String,
|
|
|
|
rand: String,
|
|
|
|
sqn: Number
|
|
|
|
},
|
|
|
|
|
|
|
|
access_restriction_data: {
|
|
|
|
$type: Number,
|
|
|
|
default: 32 // Handover to Non-3GPP Access Not Allowed
|
|
|
|
},
|
|
|
|
subscriber_status: {
|
|
|
|
$type: Number,
|
|
|
|
default: 0 // Service Granted
|
|
|
|
},
|
|
|
|
network_access_mode: {
|
|
|
|
$type: Number,
|
|
|
|
default: 2 // Only Packet
|
|
|
|
},
|
2017-06-16 14:49:52 +00:00
|
|
|
|
2017-07-21 16:01:54 +00:00
|
|
|
subscribed_rau_tau_timer: {
|
|
|
|
$type: Number,
|
|
|
|
default: 12 // minites
|
|
|
|
},
|
|
|
|
|
2017-06-16 14:49:52 +00:00
|
|
|
ue_ambr: {
|
|
|
|
max_bandwidth_ul: Number,
|
|
|
|
max_bandwidth_dl: Number
|
|
|
|
},
|
|
|
|
|
|
|
|
pdn: [{
|
2017-06-25 05:45:49 +00:00
|
|
|
apn: { $type: String, required: true },
|
|
|
|
type: {
|
|
|
|
$type: Number, default: 0 // IPv4
|
|
|
|
},
|
|
|
|
qos: {
|
|
|
|
qci: Number,
|
|
|
|
arp: {
|
|
|
|
priority_level: Number,
|
|
|
|
pre_emption_capability: {
|
|
|
|
$type: Number, default: 1 // Capability Disabled
|
|
|
|
},
|
|
|
|
pre_emption_vulnerability: {
|
|
|
|
$type : Number, default: 1 // Vulnerability Disabled
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
2017-06-16 14:49:52 +00:00
|
|
|
pdn_ambr: {
|
|
|
|
max_bandwidth_ul: Number,
|
|
|
|
max_bandwidth_dl: Number
|
2017-06-25 05:45:49 +00:00
|
|
|
}
|
|
|
|
}]
|
2017-06-17 02:35:12 +00:00
|
|
|
}, { typeKey: '$type' });
|
2017-06-16 14:49:52 +00:00
|
|
|
|
2017-06-25 05:45:49 +00:00
|
|
|
module.exports = mongoose.model('Subscriber', Subscriber);
|