Code Monkey home page Code Monkey logo

openimscore's Introduction

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



openimscore's People

Contributors

cp-george avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.