117 lines
3.9 KiB
Plaintext
117 lines
3.9 KiB
Plaintext
Grammar:
|
|
* Grammar is not fully converted, see comments inside the grammar file
|
|
* UTF8 things not defined
|
|
|
|
Request/Response:
|
|
* Parse more Parameters properly...
|
|
|
|
Transaction:
|
|
* Cancel a Invite Transaction, stop responding to the 200.. or do it
|
|
with a bye...
|
|
* Invite can have multiple dialogs.. so we need to have a 'new dialog'
|
|
kind of signal...
|
|
* Route signals through the ok/cancel of the SIPDialog as a single entry
|
|
* Add responses...
|
|
* Add better state machine control, (do not allow to go back in states)
|
|
|
|
|
|
Dialog/Session/Route-Set:
|
|
* A dialog should have a route set (with the Via's)
|
|
* Does a dialog hold a session? a session holds a dialog?
|
|
* A call can go to session without having a confirmed dialog. This needs
|
|
to be looked at/denied. Do not ack a call that has no ;tag= attribute
|
|
for. One can remove the from ;tag in the "200 OK" test result to provoke
|
|
the failure in the testProxyAuth testcase.
|
|
|
|
General:
|
|
* 401 handling might not work for BYE,ACK. For ACK the ACK might not
|
|
be re-generated and the digest might be wrong due the missing operation
|
|
* 403 (maybe 401) should generate ACK on the 403 result? Check the RFC
|
|
if that is necessary! This would indicate why the branch is changing
|
|
_after_ the receiving 401/403. At the same time the proxy/server would
|
|
need to re-send the 401/403?
|
|
* Compare with MGCPCommands and share code... in SIPRequest
|
|
* Via we should indicate the received address and port...
|
|
* Verify that status code is valid. It used to be done inside the
|
|
grammar but that is not the right place.
|
|
|
|
|
|
* 3xx, 4xx, 5xx, 6xx are final. We should not allow any other messages.
|
|
Sending multiple 503/500 messages.. they all will be acked..
|
|
|
|
|
|
* Record-Route/Route implementation needed:
|
|
|
|
SIP/2.0 200 OK
|
|
Via: SIP/2.0/UDP 192.168.0.251:3107;branch=z9hG4bK-qvgn1b;rport=3107
|
|
Record-Route: <sip:172.20.40.8;lr>
|
|
Record-Route: <sip:217.10.68.147;lr;ftag=7kypvq>
|
|
From: "sipgate" <sip:ABC@sipgate.de>;tag=7kypvq
|
|
To: "00491778116745" <sip:0049123@sipgate.de;user=phone>;tag=as10fec2f5
|
|
Call-ID: n57q3hl9l7
|
|
CSeq: 1084794278 INVITE
|
|
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH
|
|
Supported: replaces
|
|
Contact: <sip:49123@217.10.77.114:5060>
|
|
Content-Type: application/sdp
|
|
Content-Length: 381
|
|
|
|
v=0
|
|
o=root 1250091314 1250091315 IN IP4 217.10.77.114
|
|
s=sipgate VoIP GW
|
|
c=IN IP4 217.10.77.114
|
|
t=0 0
|
|
m=audio 17974 RTP/AVP 8 0 3 18 2 101
|
|
a=rtpmap:8 PCMA/8000
|
|
a=rtpmap:0 PCMU/8000
|
|
a=rtpmap:3 GSM/8000
|
|
a=rtpmap:18 G729/8000
|
|
a=fmtp:18 annexb=no
|
|
a=rtpmap:2 G726-32/8000
|
|
a=rtpmap:101 telephone-event/8000
|
|
a=fmtp:101 0-16
|
|
a=silenceSupp:off - - - -
|
|
a=ptime:20
|
|
a=sendrecv
|
|
|
|
ACK sip:123@217.10.77.114:5060 SIP/2.0
|
|
Via: SIP/2.0/UDP 24.134.59.157:3107;branch=z9hG4bK-2tacy7;rport
|
|
Route: <sip:217.10.68.147;lr;ftag=7kypvq>
|
|
Route: <sip:172.20.40.8;lr>
|
|
From: "sipgate" <sip:ABC@sipgate.de>;tag=7kypvq
|
|
To: "00491778116745" <sip:0049123@sipgate.de;user=phone>;tag=as10fec2f5
|
|
Call-ID: n57q3hl9l7
|
|
CSeq: 1084794278 ACK
|
|
Max-Forwards: 70
|
|
Contact: <sip:abc@24.134.59.157:3107;transport=udp;line=i4p4q6>;reg-id=1;+sip.instance="<urn:uuid:572d1aa1-bfd5-4b8a-ab1e-f9095df386e5>"
|
|
Content-Length: 0
|
|
|
|
|
|
|
|
Reply with ACK to 401 authorized..
|
|
|
|
SIP/2.0 401 Unauthorized
|
|
Via: SIP/2.0/UDP 192.168.0.106:5060;branch=z9hG4bK4000ebad-1c1f-e411-87f8-844bf52a8297;rport=1029;received=91.66.224.184
|
|
From: <sip:5100310@8.8.8.8>;tag=e698dead-1c1f-e411-87f8-844bf52a8297
|
|
To: <sip:00123@8.8.8.8>
|
|
Call-ID: 4eaedead-1c1f-e411-87f8-844bf52a8297@xiaoyu
|
|
CSeq: 1 INVITE
|
|
WWW-Authenticate: Digest realm="Yate", nonce="cc615df915f40a7d8ae80ef28c8efba4.1407689697", stale=FALSE, algorithm=MD5
|
|
Server: YATE/5.4.0
|
|
Contact: <sip:00123@8.8.8.8:5060>
|
|
Allow: ACK, INVITE, BYE, CANCEL, REGISTER, REFER, OPTIONS, INFO
|
|
Content-Length: 0
|
|
|
|
|
|
|
|
ACK sip:00123@8.8.8.8 SIP/2.0
|
|
CSeq: 1 ACK
|
|
Via: SIP/2.0/UDP 192.168.0.106:5060;branch=z9hG4bK4000ebad-1c1f-e411-87f8-844bf52a8297;rport
|
|
From: <sip:5100310@8.8.8.8>;tag=e698dead-1c1f-e411-87f8-844bf52a8297
|
|
Call-ID: 4eaedead-1c1f-e411-87f8-844bf52a8297@xiaoyu
|
|
To: <sip:00123@8.8.8.8>
|
|
Content-Length: 0
|
|
Max-Forwards: 70
|
|
|
|
|