From: David B. <dbu...@ke...> - 2009-02-16 22:38:46
|
Fabian - (1) The unparsed message is the CMU-300 dialog is interesting. 87654321 00000011 CC sublayer 01000101 setup 00000100 IEI 04 -- bearer cap 1 00000100 len 4 octets 01100000 octet 3 00000000 octet 3a 00000010 octet 3b 10000001 octet 4 01011110 IEI 5E -- called party BCD number 00001011 len 11 octets 10000001 type=unknown, plan=ISDN 00010000 digits = 01234567890123456789 00110010 01010100 01110110 10011000 00010000 00110010 01010100 01110110 10011000 Parsing for that message failed because the dialed number contains more than 15 digits. The L3 parser for BCD numbers takes a maximum of 15 digits. I limited it to 15 because that's the maximum length of an E.164 address. I should probably make it longer, though. If you really want to place a call, you'll need to use a shorter number. (2) If you see no output from OpenBTS, that means that OpenBTS is not receiving RACH bursts. You should at least see "AccessGrantResponder" debug messages. -- David On Feb 16, 2009, at 12:26 PM, Fabian Uehlin wrote: > David - > > I have good news: the external clock works well. Our frequency > error is now ~0 Hz (average). > And now we can see the network on our mobile phones and it is > possible to synchronize always with CMU-300. > > We can do a location update and a MOC with CMU-300. The result of > the OpenBTS application (I think it is correct, the IMSI is > configured in sip.conf) > > 1234795095.785139 2988370832: RadioResource.cpp:134 ControlLayer > AccessGrantResponder RA=22 when=0:12515 > 1234795095.785279 2988370832: RadioResource.cpp:169 ControlLayer > AccessGrantResponder sending PageMode=(0) DedicatedModeOrTBF=(TMA=0 > Downlink=0 DMOrTBF=0) ChannelDescription=(typeAndOffset=SDCCH/4-0 > TN=0 TSC=0 ARFCN=583) RequestReference=(RA=22 T1'=9 T2=9 T3=20) > TimingAdvance=0 > 1234795096.348676 2986240912: ControlCommon.cpp:349 ControlLayer > getMessage got primitive=DATA raw= > (000001010000100001110000000000000001000100000000000000000000000000101 > 0010000100000011001001100100101010001110110100110000001000000110010010 > 10100) > 1234795096.348821 2986240912: DCCHDispatch.cpp:109 ControlLayer > DCCHDispatcher got MM Location Updating Request MobileIdentity= > (IMSI=123456789012345) > 1234795096.348831 2986240912: MobilityManagement.cpp:111 > ControlLayer LocationUpdatingController MM Location Updating > Request MobileIdentity=(IMSI=123456789012345) > 1234795096.348883 2986240912: MobilityManagement.cpp:121 > ControlLayer LocationUpdatingController waiting for registration > 1234795097.912252 2986240912: MobilityManagement.cpp:137 > ControlLayer LocationUpdatingController : SIPRegistration -> SUCCESS > 1234795098.701619 2986240912: DCCHDispatch.cpp:169 ControlLayer > DCCHDisptacher waiting for SDCCH RELEASE > 1234795099.407780 2986240912: DCCHDispatch.cpp:105 ControlLayer > DCCHDisptacher waiting for SDCCH ESTABLISH > 1234795106.349325 2988370832: RadioResource.cpp:134 ControlLayer > AccessGrantResponder RA=247 when=0:14804 > 1234795106.349459 2988370832: RadioResource.cpp:169 ControlLayer > AccessGrantResponder sending PageMode=(0) DedicatedModeOrTBF=(TMA=0 > Downlink=0 DMOrTBF=0) ChannelDescription=(typeAndOffset=SDCCH/4-0 > TN=0 TSC=0 ARFCN=583) RequestReference=(RA=247 T1'=11 T2=10 T3=14) > TimingAdvance=0 > 1234795106.941805 2986240912: ControlCommon.cpp:349 ControlLayer > getMessage got primitive=DATA raw= > (000001010010010001110001000000110010100100000000000000000000100000011 > 00100110010010101000111011010011000000100000011001001010100) > 1234795106.941870 2986240912: DCCHDispatch.cpp:109 ControlLayer > DCCHDispatcher got MM CM Service Request serviceType=MOC > mobileIdentity=(IMSI=123456789012345) > 1234795106.941879 2986240912: MobilityManagement.cpp:58 > ControlLayer CMServiceResponder MM CM Service Request > serviceType=MOC mobileIdentity=(IMSI=123456789012345) > 1234795106.941886 2986240912: CallControl.cpp:467 ControlLayer MOC: > MM CM Service Request serviceType=MOC mobileIdentity= > (IMSI=123456789012345) > 1234795106.998871 2986240912: CallControl.cpp:502 ControlLayer MOC: > sending CMServiceAccept > 1234795108.352014 2986240912: GSML3Message.cpp:159: NOTICE -- L3 > parsing failed for primitive=DATA raw= > (000000110100010100000100000001000110000000000000000000101000000101011 > 1100000101110000001000100000011001001010100011101101001100000010000001 > 10010010101000111011010011000) > 1234795108.352276 2986240912: ControlCommon.cpp:359: NOTICE -- > getMessage got unparsed message > 1234795108.352312 2986240912: DCCHDispatch.cpp:148: NOTICE -- > UnsupportedMessage > 1234795108.351921 2986240912: ControlCommon.cpp:349 ControlLayer > getMessage got primitive=DATA raw= > (000000110100010100000100000001000110000000000000000000101000000101011 > 1100000101110000001000100000011001001010100011101101001100000010000001 > 10010010101000111011010011000) > 1234795108.592841 2986240912: DCCHDispatch.cpp:169 ControlLayer > DCCHDisptacher waiting for SDCCH RELEASE > 1234795109.293853 2986240912: DCCHDispatch.cpp:105 ControlLayer > DCCHDisptacher waiting for SDCCH ESTABLISH > > We can see the network ("D 09" -> D = Deutschland = Germany) but > connecting is not possible on our mobile phones. There are no > output in the OpenBTS1800 application when I try to connect. > The mobile phone only shows "Bitte warten" (Please wait), nothing > more. > > > Am 13.02.2009 um 01:55 schrieb David Burgess: > >> Fabian - >> >> >> On Feb 12, 2009, at 4:01 PM, Fabian Uehlin wrote: >> >>> It was possible (but not stable -> approx. every second try it >>> fails) to synchronize and connect to the network. >>> We also see the IMSI from the CMU 300. But MOC's were not >>> possible, we have to analyze why... >> >> If you can catch a log of that, I'd be glad to take a look. > I will try to get logfiles and screenshots, but there is neiher an > USB nor serial port. We need an adapter, but we will get it tomorrow. > > >>> Tomorrow, we want to connect an external clock to the USRP, >>> because we saw, that there is a high frequency error. Perhaps >>> this is the reason we can't see the network with our cell phones?! >>> We will test it... >> >> Possibly, if the R&S box is reporting a large frequency offset. >> Offsets larger than a few hundred Hz will cause a lot of problems. >> >>>> (1) Can you find an old Nokia DCT-3-series field test handset? >>>> Knowing what your handset is trying to do would be terribly >>>> helpful. >>> Okay, I will try to get one, because unfortunately my old Nokia >>> phone is broken. We will see more information with field test mode? >> >> The "field test" Nokias will show the current active channel type >> (BCCH, CCCH, SDCCH, TCHF, etc.). That's very useful information >> to know how the handset is responding to the network. We have an >> 8890, where enabled field test mode through the handset. We also >> have a few 5110's, where we enabled field test mode through the >> serial port. > I won an auction of an old Nokia phone on ebay. Hopefully I will > get it in the next few days. > > >>>> (2) Is your Asterisk serving running and are the handsets >>>> provisioned in it, using the handset IMSI as the SIP username? >>> Yes, it is running, hopefully well configured. We set the IMSI >>> from CMU-300. The message that "SIP registration fail" doesn't >>> occur anymore. >> >> So does it say "SUCCESS"? > Yes, we can see "MobilityManagement.cpp:137 ControlLayer > LocationUpdatingController : SIPRegistration -> SUCCESS" when > trying MOC with CMU-300. > > You sent me the filre RadioResource.cpp. Trying to integrate it > fails. The first error, I can fix by uncommenting it, but the > following errors there are missing "variables". > Should I uncomment it all? > > RadioResource.cpp: In function ‘void Control::AccessGrantResponder > (unsigned int, const GSM::Time&)’: > RadioResource.cpp:159: error: ‘class GSM::GSMConfig’ has no member > named ‘uptime’ > RadioResource.cpp: In function ‘void Control::PagingResponseHandler > (const GSM::L3PagingResponse*, GSM::LogicalChannel*)’: > RadioResource.cpp:193: error: ‘gTMSITable’ was not declared in this > scope > RadioResource.cpp:198: error: ‘class Control::Pager’ has no member > named ‘removeID’ > RadioResource.cpp:203: error: no matching function for call to > ‘Control::TransactionTable::find(GSM::L3MobileIdentity&, > Control::TransactionEntry&)’ > ControlCommon.h:481: note: candidates are: bool > Control::TransactionTable::find(unsigned int, > Control::TransactionEntry&) const > RadioResource.cpp:212: error: cannot convert > ‘Control::TransactionEntry’ to ‘const GSM::L3PagingResponse*’ for > argument ‘1’ to ‘void Control::MTCStarter(const > GSM::L3PagingResponse*, GSM::LogicalChannel*)’ > RadioResource.cpp:214: error: ‘MobileTerminatedShortMessage’ is not > a member of ‘GSM::L3CMServiceType’ > RadioResource.cpp:215: error: ‘MTSMSController’ was not declared in > this scope > RadioResource.cpp: At global scope: > RadioResource.cpp:293: error: no ‘void Control::Pager::removeID > (const GSM::L3MobileIdentity&)’ member function declared in class > ‘Control::Pager’ > > If you wanna have special screenshots or more detailed information, > let me know. > > - Fabian > >>> I think on tuesday we will have some results and I will inform >>> you about our current project status. >> >> I look forward to that. >> >>> >>> Thanks & Regards >>> - Fabian >>> >> >> -- David >> >> >> David A. Burgess >> Kestrel Signal Processing, Inc. David A. Burgess Kestrel Signal Processing, Inc. |