Hi all,
i have encountered a strange behaviour - and i think i have found a possible problem within sofia_glue
Following scenario:
Carrier sends INVITE with T38 Offer -> Freeswitch does forward offer -> asterisk does forward offer -> ATA
In this scenario it happend to me - that the T38 Offer (with corrent m=image and port in sdp) got forwarded by freeswitch to asterisk, asterisk did forwarded without the T38 Offer (don't know why) - so also without the m=image sdp part - the ATA did answered correctly (without m=image part) -> asterisk did created a new sdp with m=image 0, without T38 parts - and returned this to freeswitch.
Freeswitch did hangup the call - because sofia_glue did extracted the port 0 as audio port - and this is not a legal port...
Sending port 0 is according to rfc legal - so freeswitch should ignore it in this case.
the question is - if both values are given - which one is the value we need ? I think the audio port is the port which is of higher priority.
So the workflow should be:
- Try to extract audio port from m=audio part.
- If you got it - and it is a valid port then go on
- else try to extract audio port from m=image part...
The function in question is sofia_glue_tech_proxy_remote_addr - in sofia_glue.c
Is it generaly a good idea to use the m=image part as audio port ? Why is there no direct image port member in the pvt structure as with the video port ?
Hope someone can help here...
br,
Wolfgang