networkmaniac / openimscore Goto Github PK
View Code? Open in Web Editor NEWThis project forked from cp-george/openimscore
This project forked from cp-george/openimscore
This is the README file for usage of P-CSCF with the Policy and Charging interfaces enabled. Written in Dezember 2007 by Alberto Diez Albaladejo (Alberto.Diez.Albaladejo at FOKUS) Some changes in April 2008 As for now two versions are supported Gq (Release 6 interface to the PDF) and Rx (release 7 to the PCRF). There are few differences between those. Two files have to be configured to be able to use this interfaces the ser config file ie. pcscf.cfg and the C Diameter Peer XML configuration file ie. pcrfconfig.xml Examples of both are given in the cfg directory. CONFIGURING THE SER CONFIG FILE -------------------------------- To select between Rx or Gq set the parameter qos_release7 of the pcscf module to 1 for Rx or 0 for Gq. modparam("pcscf","qos_release7",1) That would set Rx. Support for Gqprima AVPs has been added, this is very basic but for Gqprima AVPs to be included in the AAR request the parameter qos_release7 has to be set to -1 moparam("pcscf","qos_release7",-1) Another parameter is used to set the FQDN of the PCRF or PDF in case needed (see C Diameter Peer README) modparam("pcscf","forced_qos_peer","pcrf.open-ims.test") Another parameter has been defined that specifies which side (caller or callee or both) is the one to reserve resources (this is needed if testing with only one P-CSCF in order not to reserve twice for the same connections) modparam("pcscf","qos_side",2) 0 caller , 1 callee 2 both After that you have to set in which circunstances you want to do the authorization proccess... In the example config file, the following functions are used to use PCRF only in the originating side, because i use the same P-CSCF for both sides and it would be a bit messy if not. But it could be done also for orig and term. Functions provided are : P_AAR , P_STR , P_generates_aar , P_release_call_onreply P_AAR : This function sends AAR message to the PDF or PCRF to request authorization for the session. It should be called only in reply route blocks, when a successful reply to an INVITE, reINVITE or UPDATE with SDP content has been received. P_STR : This function sends an STR message after a session is dropped. In order that the PDF deallocates the resources reserved for that session. P_generates_aar: This function helps to see if the reply that it has been recovered is one that should generate an AAR. It also does some checkings concerning the side of the transaction. (I should include here some checking of the SDP but i didnt have the time yet, please contribute with your code) P_release_call_onreply: This function doesn't really do anything with the PCC architecture, but it generates the appropiate signaling to quit a call. Its useful when the PDF or PCRF rejects one session, then the PCSCF can generate CANCEL, or BYE depending on the situation. At the moment of writting this , there is an issue with the CANCEL because the cancel generated by the tm module isn't being accepted by some clients. I can generate a CANCEL myself but then there is an issue with the VIA branch parameter not following the RFC.... This has to be solved. CONFIGURING THE C DIAMETER PEER XML CONFIG FILE ----------------------------------------------- A sample config file called pcscf.pdf.xml is provided, if you change the name dont forget to change it in the ser config file accordingly. This lines have to be included because the Vendor Specific Authorization Application ID its not used. It only works with vendor set to 0, its ok with the specification that way. <Auth id="16777236" vendor="10415"/> <Auth id="16777236" vendor="0"/> TESTING ------- Wireshark dictionarys for the interfaces are included in the cfg directory TGPPGq.xml TGPPRx.xml Put them in the wireshark diameter directory with other dictionarys and load them writting their entity description at the begining of dictionary.xml and the loading command at the end &TGPPRx; &TGPPGq; Seagull files to simulate a PDF are also included in this doc/Seagull Three files are needed for seagull to act as a PDF config file --> conf.server.xml dictionary --> base_gq.xml server thing --> aar-aaa.server.xml
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.