hi harald,
that sounds good. i will try this in hamburg on easterhegg, starting friday.
also i started coding on gsm_04_08.c file. i like to implement a real state machine and
like to extract the call handling (application) from the signalling part (protocol). this
way libbsc can be used to terminate calls to applications rather than just forwarding
them.
here is my idea: we must define an API for applications to communicate with libbsc. i
would suggest a structure with "message type", "call reference" and
all informations like "calling party number". if the informations are not used,
like "calling party number" in the "ALERTING" message, they are
ignored:
struct high_level_structure_type_name {
int message;
int callref;
u_char imei[..];
u_char imsi[..];
u_char tmsi[..];
u_char dialing[..];
u_char calling_pn[..];
int notify_ind;
....
};
i would use a special message "NEW" for creating a new callref. after the
instance (call) is released and freed, a special message "FREE" could be used.
an example:
send NEW -> returns callref (or error)
send SETUP (callref, imei)
recv PROCEEDING (callref)
recv ALERTING (callref)
recv CONNECT (callref)
recv DISCONNECT (callref, cause)
send RELEASE (callref)
recv FREE (callref)
paging, timers, release_complete, ... is handled by gsm_04_08.c, data base, numbering
plan, call control is done by extracted application file. (let me call it callcontrol.c.)
the current application for call forwarding would be removed and put in a seperat file or
even out of it and make it part of bsc_hack.
what do you think?
regards,
andreas
-----Ursprüngliche Nachricht-----
Von: Harald Welte [mailto:laforge@gnumonks.org]
Gesendet: Mittwoch, 8. April 2009 11:27
An: Andreas.Eversberg
Cc: openbsc(a)lists.gnumonks.org
Betreff: Re: Solved: BS-11 runs, but no Network on my Mobile
On Tue, Apr 07, 2009 at 04:11:05PM +0200, Andreas.Eversberg wrote:
hi,
everything works now, even without external (accurat) clock from telephone network.
the problem was the driver for some reason. with the latest GIT commit it works every
time i startup the base or the software. (until now)
now comes the next part. what has to be done in order to terminate calls or
make calls between mobiles?
it has all been implemented quite some time ago. Used to work fine here, though
I haven't tested it since about one month ago. We can have multiple concurrent
voice calls between two handsets, as soon as you have the IMSI provisioned with
an extension in the database, i.e.
UPDATE subscriber set extension=1001 where id=1;
UPDATE subscriber set extension=1002 where id=2;
and then you can call 1002 from the handset with id1 and vice-versa.
regards.
--
- Harald Welte <laforge(a)gnumonks.org>
http://laforge.gnumonks.org/
============================================================================
"Privacy in residential applications is a desirable marketing option."
(ETSI EN 300 175-7 Ch. A6)