Copy link to clipboard
Copied
i want to route some calls from an outside SIP server to a flash client(e.g. the sample flash phone) registered to an FMG, the SIP server can be configured to forward the SIP call request with predefined prefix e.g. "8***" to the FMG, but it seems that the FMG rejects them even i have re-configured the dialplan in workflow.xml as follows:
...
<Condition variable="destNum" value="^8...$"> | |
<AppNode sequence="1" app="bridge" args="rtmp|${destNum}@profile_default"/> | |
<AppNode sequence="2" app="hangup" args="null"/> | |
</Condition> |
...
i added the above conditions to all contexts, "sipPhoneContext","sipGatewayContext","rtmp", but all dont work.
How to configure workflow.xml as well as other xmls to make it work? For other SIP server, it is a easy-to-implement feature to take call forwarding from other servers.
BTW, is there a detailed guidance on FMG configuration? I even dont know what other "variables" are besides "destNum"?
Thanks
Honggang
Copy link to clipboard
Copied
When a call is received by SIP Interface of FMG. Here is how it flows down (to FMS, if intended so). To troubleshoot, you would need to go through core.log files to find out at which point FMG is rejecting the call Leg coming from SIP server.
1) New Call arrives at FMG. How this call is authenticated is dependent upon configurations in sip.xml. A call should get authenticated(with a <profile> in sip ) so that it finds the call flow <context> it needs to execute. This call flow <context> will either be as specified in the <profile> to which FMG is able to assciate call leg (based upon sip IP/username etc). sip.xml also allows a default context to be used for any unidentified call which arrives at sip interface. Once FMG is able to locate a <context> string it tries to locate it in workflow.xml. FMG rejects a callLeg if it fails to identify a callLeg with a context in sip.xml or it doesn't find the full description of context string in workflow.xml.
2) Depending upon targetted workflow, FMG tried to find a suitable action to be taken on the callLeg, if no matching action is found, call is rejected.
3) If a action is found like "bridge" args="rtmp|${destNum}@profile_default"/>" ; FMG tries to see if it has a connection with "rtmp" application with profile_default. description of profile_default is listed in rtmp.xml. If a connection is found, call is forwarded to FMS application, else call is rejected with Not_found..
Once you could identify at which point call is failing, it would be easier to more forward with corrective configuration change.
Copy link to clipboard
Copied
Thanks, Pankaj
......1) New Call arrives at FMG. How this call is authenticated is dependent upon configurations in sip.xml. A call should get authenticated(with a <profile> in sip ) so that it finds the call flow <context> it needs to execute. ......
Can the call be forwarded without authentication? You known, the truth is for the call request from 3rd party SIP server, the authentication at FMG cannot be done, and many other SIP servers support such functionality.
Copy link to clipboard
Copied
Can a flash phone register to a SIP server via FMG? if yes, how to implement it?
Copy link to clipboard
Copied
To receive calls from SIP server without authentication.
Set <EnableAutoProfile> to true
Set <DefaultContext> to desired workflow context name for incoming calls
FMG registers to SIP server (via sip.xml). A flashplayer can made to dial via any account to which FMG is registered. This allows many to many Flash phone vs SIp account combinantion.
Registering FMG to over a sip trunk to a sipserver is more scalable depending upon setup.
Copy link to clipboard
Copied
Thanks, Pankaj
What I mean about "flash phone register to SIP server via FMG" is that one-to-one registration between flash phone and SIP server, which may require FMG supports dynamic registration to SIP server, and is different from static configuration of SIP account in sipGateway profile in sip.xml currently.
It seems a little difficult to current version of FMG, but can simplify the usage of flash based SIP phone if there has been SIP server deployed.
Copy link to clipboard
Copied
By design, FMG doesn't expose flashphone to SIP registration directly. Only way to achieve this is via dynamically updating sip.xml using HTTP APIs.
This has been done to increase flexibility to support wide range of actual web deployements use-case & authentication schemes.
Copy link to clipboard
Copied
Can SIP.xml updating achieve dynamic SIP account registration without FMG re-start? I originally thought FMG should be re-start whenever conf xml is changed.
Copy link to clipboard
Copied
Alternate way to apply changes is via FMGSaveConfig API:
e.g.Following command would put into effect the changes done in sip.xml (for adminName: admin & Password: abc123 )
http://fmghost:2222/admin/FMGSaveConfig?auser=admin&apswd=abc123&oid=FMG.sip
FMGSaveConfig is limited in scope to sip profiles. It is possible to achieve a sort of dynamic SIP account registration using it.
Copy link to clipboard
Copied
Excuse me, could you please give me more explanation on how FMGSaveConfig works?
What is "oid=FMG.sip"? and how to insert/remove a SIP account by using FMGSaveConfig API?
Thanks, Pankaj
Copy link to clipboard
Copied
Please refer document: doc/FMG HTTP API.pdf (available inside FMG installation folder.)
Copy link to clipboard
Copied
And more importantly, can this SIP account update support 1-to-1 mapping? so that flash phone can register to a SIP server via FMG?
Copy link to clipboard
Copied
Yes, there can be one to one mapping, if required.
In general, the mapping is loose and many to many mappings are supported; one to one mapping is one subset of it.
Copy link to clipboard
Copied
there lacks of detailed examples on how to use the API in FMG HTTP API.pdf, so could you please show some examples, e.g. how to add/remove a sip account? how to make it register to a sip server?
BTW, is there detailed help doc?
Thanks, Pankaj
Copy link to clipboard
Copied
it works after Setting <EnableAutoProfile> to true, thanks, Pankaj
We will try the HTTP API soon, but please let us know how to do it in details or show us an example, thanks
Copy link to clipboard
Copied
Can the trust domain be set at FMG? E.g. the IP address of trustable SIP server, so that the security can be guaranteed when Setting <EnableAutoProfile> to true