I think that I may be getting close to the limit of my expertise here – remember that we are all amateurs on this forum.
A few notes on SDP. They don't have to be the same. The caller will send an INVITE which includes SDP and, if the call is accepted, the callee will send a 200 OK message back to the caller which also includes SDP. The important lines in the SDP are:
(c) – connection information. The ip address of where to send the RTP stream (audio)
(m) – media. The port to send RTP to and a list of CODECs that are being offered.
The list of CODECS may well be different between any caller and callee. This is OK, so long as there is at least one common to both. The (a) lines list what each device is offering in detail and by priority. The caller and callee will negotiate and pick the highest priority CODEC that both can agree on.
If you are using Wireshark, then I would recommend looking at Telephony > Voip Calls > Call Flow. This can be very useful to seeing what is missing in a failed call. I have attached a typical call that I have just made to a sip2sip test number. The basics are:
Caller sends INVITE which includes SDP
Callee challenges caller with a 407 message asking for authentication – username/password etc.
Caller resends INVITE with the required information.
Callee sends 200 OK which includes SDP
At this point caller and callee have each others ip address/port to send RTP streams to, so the RTP (audio) starts. As you can see, the audio does not necessarily have to go to the same address as the SIP messages.
This call flow is typical, but there are many variations in the detail.