Как получить ssp-приглашение ussd с сервера openbts?
Я работал над проектом openbts и пытаюсь создать приложение ussd для получения входящего запроса от openbts. Когда я набираю номер ussd с телефона, как *123#, я фиксирую, что приглашение openbts отправляется как...
INVITE sip:*123#@192.168.11.214:5067 SIP/2.0
To: <sip:*123#;phone-context=irrelevant.net;user=dialstring@127.0.0.1>
From: <sip:IMSI624017503223037@127.0.0.1:5062>;tag=OBTSpxegcyqwblxwzegf
Via: SIP/2.0/UDP 127.0.0.1:5062;branch=z9hG4bKOBTSyrwtpjfyyeyqpnrf
Call-ID: b916d545144f8ad8
CSeq: 569289 INVITE
Contact: <sip:IMSI624017503223037@127.0.0.1:5062>;expires=3600
Max-Forwards: 70
P-Preferred-Identity: <sip:IMSI624017503223037@127.0.0.1>
P-PHY-Info: OpenBTS; IMSI=no-MMUser TA=0 TE=-0.984290 UIMSI624017500786450@127.0.0.1:5062pRSSI=-32.996304 TxPwr=5 DnRSSIdBm=-52 time=1508751638.563
P-Access-Network-Info: 3GPP-GERAN; cgi-3gpp=0010103e8000a
User-Agent: OpenBTS 5.0-master Build Date 2017-10-16T18:09:01
Content-Type: multipart/mixed;boundary=zzyzx
Content-Length: 381
--zzyzx
Content-Type: application/vnd.3gpp.ussd+xml
v=0
o=IMSI624017503223037 0 0 IN IP4 127.0.0.1
s=Talk Time
t=0 0
m=audio 0 RTP/AVP 3
c=IN IP4 127.0.0.1
a=rtpmap:3 GSM/8000
--zzyzx
Content-Type: application/vnd.3gpp.ussd+xml
<?xml version="1.0" encoding="UTF-8"?>
<ussd-data>
<language>en</language>
<ussd-string>*123#</ussd-string>
</ussd-data>
--zzyzx--
Я отвечаю с 200 OK как таковой...
SIP/2.0 200 OK
To: <sip:*123#;phone-context=irrelevant.net;user=dialstring@127.0.0.1>tag=vehsehd8098097sdn
From: <sip:IMSI624017503223037@127.0.0.1:5062>;branch=z9hG4bKOBTSfxbqztgkmmhkaeye;
Via: SIP/2.0/UDP 127.0.0.1:5062;tag=OBTStbjpmvjqozldyox;received=127.0.0.1;rport=5062;
Call-ID: dd5497355db034fc
CSeq: 61963 INVITE
Contact: <*123#@127.0.0.1:5067>;expires=3600
Recv-Info: g.3gpp.ussd
Allow: ACK, INVITE, BYE, CANCEL
Accept: application/vnd.3gpp.ussd+xml
Accept: application/sdp
Accept: multipart/mixed
Content-Type: application/sdp
Content-Length: 239
v=0
o=vehseh 23422 433224 IN IP4 127.0.0.1
s=Talk Time
t=0 0
m=audio 8722 RTP/AVP 3
c=IN IP4 127.0.0.1
a=rtpmap:3 GSM/8000
a=sendrecv
Затем сервер openbts задерживается на некоторое время и продолжает посылать новые сообщения INVITES с другим идентификатором вызывающего абонента. Я не понимаю, почему он не посылает мне ACK. Мой сервер openbts работает на localhost:5062, а мое приложение работает на localhost:5067. Пожалуйста, надеюсь, что я смогу получить помощь, и если мой ответ 200 OK не очень хороший.