class TableColumn : public QObject
{
Q_OBJECT
public slots:
void onValueChanged()
{
emit onChanged();
}
signals:
void onChanged();
};
An example of connecting a signal by name in QT
An example of using base iterator in C++
The code below demonstrates how to access underlying range iterator by transformed iterator:
struct A
{
int x;
};
struct B
{
A* a;
};
std::vector<B> v;
int main()
{
auto a_range = v | std::views::transform(std::mem_fn(&B::a));
auto i = std::ranges::find(a_range, 5, std::mem_fn(&A::x));
A* a = *i;
B& b = *(i.base());
}
An example on what ROWID is in SQLite
ROWID is of alias of an integer primary key:
CREATE TABLE test1(id INTEGER, b TEXT, PRIMARY KEY(id))
INSERT INTO test1 (id, b) VALUES (5, 'five');
INSERT INTO test1 (id, b) VALUES (6, 'six');
INSERT INTO test1 (b) VALUES ('seven');
SELECT rowid, * FROM test1;
My first attempt to make a video call with PJSIP
Added video codecs to pjsip.conf
:
allow=h263p
allow=h263
allow=h264
allow=vp8
see full PJSIP configuration on GitHub.
core show channeltypes
Type Description Devicestate Presencestate Indications Transfer
------------- ------------- ------------- ------------- ------------- -------------
Recorder Bridge Media Recording Channel Driver no no yes no
Announcer Bridge Media Announcing Channel Driver no no yes no
USTM UNISTIM Channel Driver no no yes no
CBAnn Conference Bridge Announcing Channel no no yes no
CBRec Conference Bridge Recording Channel no no no no
PJSIP PJSIP Channel Driver yes no yes yes
AudioSocket AudioSocket Channel Driver no no no no
UnicastRTP Unicast RTP Media Channel Driver no no no no
MulticastRTP Multicast RTP Paging Channel Driver no no no no
IAX2 Inter Asterisk eXchange Driver (Ver 2) yes no yes yes
Local Local Proxy Channel Driver yes no yes no
Surrogate Surrogate channel used to pull channel f no no no no
----------
12 channel drivers registered.
Further investigation of Asterisk logs
Clients A and B are in Windows Sandboxes behind a router in a local network.
Client A:
Connection-specific DNS Suffix . : mshome.net
Link-local IPv6 Address . . . . . : fe80::db7a:bb9e:748a:f5a9%205
IPv4 Address. . . . . . . . . . . : 172.28.33.149
Subnet Mask . . . . . . . . . . . : 255.255.240.0
Default Gateway . . . . . . . . . : 172.28.32.1
Client B:
Connection-specific DNS Suffix . : mshome.net
Link-local IPv6 Address . . . . . : fe80::d607:36fe:46b0:b7dc%205
IPv4 Address. . . . . . . . . . . : 172.24.106.63
Subnet Mask . . . . . . . . . . . : 255.255.240.0
Default Gateway . . . . . . . . . : 172.24.96.1
How to add a scrollable text block to a WordPress post
With preformatted block
Add the following class to your style.css
:
.scrollable-log {
overflow-y: scroll;
font-family: Monaco, "Consolas", "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important;
font-weight: normal !important;
font-style: normal !important;
font-size: 1em !important;
max-height: 400px;
}
Investigating Asterisk logs
Client C successfully call client A, but a call in the reverse direction fails. Client B successfully calls client A. See my previous post for my Asterisk configuration and clients.
IP addresses
IP address of client C is 176.15.165.103
and external IP address of client A is 91.122.37.167
. Server IP address is 172.236.29.157
.
172.28.33.149
is the local IP address of client A in Windows Sandbox (which external IP address is 91.122.37.167
):
C:\Users\WDAGUtilityAccount>ipconfig
Windows IP Configuration
Ethernet adapter Ethernet:
Connection-specific DNS Suffix . : mshome.net
Link-local IPv6 Address . . . . . : fe80::db7a:bb9e:748a:f5a9%205
IPv4 Address. . . . . . . . . . . : 172.28.33.149
Subnet Mask . . . . . . . . . . . : 255.255.240.0
Default Gateway . . . . . . . . . : 172.28.32.1
Further experimentations with PJSIP
I have two clients in Sandboxes on Windows 10 machines in a local network behind a router. First client is Linphone (client A) and second client is ZoiPer (client B), so the clients A and B are behind NAT. Also I have Linphone (client C), ZipPer (client D) and PortSIP (client F) on my Android mobile phone connected to the internet over 4G (so there is no NAT). The server is in the Docker container with default network configuration with all the ports mapped to the host.
My Asterisk configuration:
rtp.conf
:
[general]
rtpstart=10000
rtpend=10099