ladendirekt / pjsip4net

A wrapper library exposing the pjsip library to the .NET world in a OO-friendly way.
71 stars 42 forks source link

Can call, but not receiving anything #67

Closed PaulSch closed 7 years ago

PaulSch commented 7 years ago

Hi Robert

I started moving your library into my project, and I think I copied the configuration over correctly using the fluent interface :) nice! I can now make a call with the user agent, but if from my other client I use the connection history to call back there is no incoming call or state change occurring. Also if I initiate a call using the data supplied in the account info (which shows up in the other client) or if I use a direct ip address then there is no incoming call to observe.

Any suggestions as to what I am missing?

Regards, Paul

PaulSch commented 7 years ago

addendum

This works: userAgent.CallManager.MakeCall(x => x.To("XXX").At("172.16.2.145").Through("5060").From(userAgent.AccountManager.Accounts.First()).Call());

But this just hangs: userAgent.CallManager.MakeCall(x => x.To("XXX").At("sip.linphone.org").Through("5060").From(userAgent.AccountManager.Accounts.First()).Call());

PaulSch commented 7 years ago

Furthermore, transfering a call also does not work anymore since I moved this stuff into my own project. There is no ring activity? Any suggestions would be welcome

siniypin commented 7 years ago

Hi Paul,

unfortunately there isn't much I can help you with as long as interconnectivity with SIP is kind of tricky, unless you are in a strictly isolated network with no NATs and firewalls between.

You can switch the highest logging level on to collect the SIP traces to figure what is going on there under the hood. Please find an example here: https://gist.github.com/siniypin/7860029#file-app-config-L6

PaulSch commented 7 years ago

Finally got some where.... I was writing up my findings because I was getting nowhere... and as usual if you start to explain you notice the problem...

In the console app.config node <sipTransport type="udp" Port="5080" BoundAddress="" PublicAddress=""/> it states port 5080, usually SIP uses 5060...so i thought it was for something else and paid no attention to it.

In the console test application log, I noticed it said: Account <sip:172.16.2.101:5060> added with id 0

And in my application log it said: Account <sip:172.16.2.101:5080> added with id 0

so when i changed my fluent config to port 5060, i started getting a connection... it is still not fully working, but I wanted to report this, as there is a difference between the way the app.config and the fluent config are processed!

PaulSch commented 7 years ago

Same goes for the AutoAnswer property I think, because in the test console app this was set to true, and in my fluent configured app also, and i noticed that it was answering the call, so when I set that to false. I managed to transfer the call correctly!

You can close this thread, but I wanted to reply in case anyone else had configuration issues.

PaulSch commented 7 years ago

Also now it is obvious that I could call call from port 5080 to port 5060, but was not receiving on port 5080, as I was sending it to port 5060, and there was nothing listening at that port.

siniypin commented 7 years ago

Hey Paul,

a difference between the way the app.config and the fluent config are processed!

what did you mean? Did you mean that one overrules the other?

PaulSch commented 7 years ago

I left the Port in the app.config file set to 5080, and did the same in the fluent config. But the console app worked, and my fluent app did not. until I changed the Port to 5060.

And from the log in the console app I could see it was using port 5060, even though the config was set to 5080.

I haven't looked into where it goes wrong, now that I'm configuring it correctly it works.

PaulSch commented 7 years ago

Very strange, this morning it did not work... Set it back to 5080 and it worked again???