Hi Keith,
I have to say, I'm impressed, (I think?) that
writing a new program from
scratch that involves protocol translation and RTP transcoding is easier
for you that configuring existing programs that do said thing.
I have two additional issues I didn't already mention:
1) I hate SIP with a passion, and I am using it out of poverty, rather
than out of genuine desire. If I were filthy rich, I would have
nothing to do with SIP, I would have got a TDM trunk instead for my
PSTN interface, with SS7 signaling. But I am not filthy rich, and a
SIP-based connection to PSTN is the only kind that's available for
dirt cheap, via providers like
bulkvs.com - hence that's what I am
working with. But as an expression of protest and disapproval, I
don't want to embed SIP into the core of my network, instead I want to
keep it at the periphery. The approach espoused by osmo-sip-connector
where a purely local call from one locally attached GSM phone to
another is converted to SIP, then hairpinned back to o-s-c at the SIP
level by the PBX, is anathema to me. In my themwi-system-sw the
internal switch (themwi-mncc) is pure MNCC without any SIP (would be
easy to convert to Q.931 given a traditional PSTN trunk), and there
are two separate gateway processes for themwi-sip-in and themwi-sip-out.
2) There is no pre-existing sw (that I know of) that very specifically
does the job of interconnecting a GSM network to PSTN via SIP, nothing
more and nothing less. Neither Asterisk nor FreeSWITCH (and I haven't
even heard of the others you mentioned) is designed specifically for
this job, instead they are designed to do "everything and anything"
that revolves around SIP, and assume an operator/admin who loooves SIP
- not a "bellhead" like me! ("Bellhead" is an American term for
someone who thinks and views the world the way traditional Bell System
telco people did.)
But I feel that this discussion is approaching the situation from the
wrong angle - at the end of the day it doesn't matter whether any given
network operator/implementor chose to write her own sw or use mostly
pre-existing sw - it's an internal implementation detail - instead what
matters more (to me at least) is whether or not anyone else is building
similar functionality at all, irrespective of how they choose to
implement it.
Let me repeat the fundamental question: is there *anyone* in this
community besides me who operates an Osmocom GSM network with
interconnection to USA PSTN, with every GSM subscriber getting a real
10-digit NANP phone number, with ability to receive PSTN calls from
anywhere in the world and with ability to dial calls to anywhere in
the world, or at least to anywhere in USA? If someone has done what I
just described, I would *love* to hear from you, including as much
detail about your choice of software and technical setup as you would
be willing to share. And if no one has done this before me, if I get
to be the trailblazer here, going where no woman has gone before, then
on exactly what basis are you telling me that I am doing it wrong?
I asked a similar question here several months ago, before I embarked
"full steam ahead" on my themwi-system-sw. If someone had responded
along the lines of "yes, here we are, running an Osmocom network
interconnected to USA PSTN via such and such PSTN-via-SIP provider,
and this is the software stack use", then I would have looked into
that existing implementation before deciding to reinvent the wheel.
But no one responded positively, the silence I heard gave me the
impression that no one else is operating an Osmocom network in
furtherance of a similar telos, and so I had to strike out on my own.
But hey, I freely share all of the code I have written in furtherance
of my goal, and it interoperates with Osmocom CNI - so if what I am
doing is not community contribution, then what is?
[my quick-n-dirty patch to OsmoMSC to make call waiting work]
I'd be happy to test it, but unfortunately, I
don't see it in Code Review
I sent it as an email attachment; here it is again, inline this time:
--- msc_a.c.orig 2021-11-16 08:44:54.000000000 -0800
+++ msc_a.c 2022-10-07 19:47:29.459549124 -0800
@@ -1768,6 +1768,8 @@
if (msc_a->cc.active_trans) {
LOG_MSC_A(msc_a, LOGL_INFO, "Another call is already ongoing, not
assigning yet\n");
+ /* ThemWi addition for call waiting */
+ gsm48_tch_rtp_create(cc_trans);
return 0;
}
As you can see, it is literally a one line change, if you don't count
the comment. I don't have spare cycles at the moment to get into the
world of Gerrit, but if no one beats me to it, I'll submit it some
time later.
M~