mirror of
https://github.com/RangeNetworks/openbts.git
synced 2025-11-01 20:33:33 +00:00
Fixed #40 in public. We now handle CMServiceAbort correctly.
git-svn-id: http://wush.net/svn/range/software/public/openbts/trunk@3973 19bc5d8c-e614-43d4-8b26-e1612bc8e597
This commit is contained in:
@@ -714,6 +714,16 @@ void Control::MOCStarter(const GSM::L3CMServiceRequest* req, GSM::LogicalChannel
|
||||
// Get the Setup message.
|
||||
// GSM 04.08 5.2.1.2
|
||||
GSM::L3Message* msg_setup = getMessage(LCH);
|
||||
|
||||
// Check for abort, if so close and cancel
|
||||
if (const GSM::L3CMServiceAbort *cmsab = dynamic_cast<const GSM::L3CMServiceAbort*>(msg_setup)) {
|
||||
LOG(INFO) << "received CMServiceAbort, closing channel and clearing";
|
||||
//SIP Engine not started, just close the channel and exit
|
||||
LCH->send(GSM::L3ChannelRelease());
|
||||
delete cmsab;
|
||||
return;
|
||||
}
|
||||
|
||||
const GSM::L3Setup *setup = dynamic_cast<const GSM::L3Setup*>(msg_setup);
|
||||
if (!setup) {
|
||||
if (msg_setup) {
|
||||
|
||||
@@ -88,6 +88,7 @@ L3MMMessage* GSM::L3MMFactory(L3MMMessage::MessageType MTI)
|
||||
switch (MTI) {
|
||||
case L3MMMessage::LocationUpdatingRequest: return new L3LocationUpdatingRequest;
|
||||
case L3MMMessage::IMSIDetachIndication: return new L3IMSIDetachIndication;
|
||||
case L3MMMessage::CMServiceAbort: return new L3CMServiceAbort;
|
||||
case L3MMMessage::CMServiceRequest: return new L3CMServiceRequest;
|
||||
// Since we don't support re-establishment, don't bother parsing this.
|
||||
//case L3MMMessage::CMReestablishmentRequest: return new L3CMReestablishmentRequest;
|
||||
@@ -201,6 +202,13 @@ void L3IMSIDetachIndication::text(ostream& os) const
|
||||
|
||||
|
||||
|
||||
void L3CMServiceAbort::parseBody(const L3Frame& src, size_t &rp)
|
||||
{
|
||||
//Nothing to parse -kurtis
|
||||
}
|
||||
|
||||
|
||||
|
||||
void L3CMServiceReject::writeBody(L3Frame& dest, size_t &wp) const
|
||||
{
|
||||
mCause.writeV(dest,wp);
|
||||
|
||||
Reference in New Issue
Block a user