Saturday, September 8, 2007

IMS Service Routing: ISC for IMS Application Server



After a long summer break, here is a fourth post on the details of the IMS service architecture related to the handling of SIP signalling. While the previous post described ISC from the perspective of the IMS core network (S-CSCF), this one concentrates on the other side of the interface: the IMS Application Server.

The details of the procedures to be supported by an IMS application server for ISC can be found in chapter 5.7 of TS 24.229. This post does not intend to describe all the details of the IMS AS procedures (for instance I will not address such specific issues as the handling of GRUUs, local numbering or carrier selection - the reader is invited to read the specification for this). I will only provide my own description of the basics, sometimes summarizing the specification, sometimes going beyond them or placing them in a larger context.

In the following, I decided to distinguish between two cases.

In the first one, the IMS application server receives a SIP request that was originated by another SIP entity. This entity could be an IMS client (e.g. phone, TV set, home PC) or an IMS application server (e.g. a messaging server, a multimedia content server). It could be located in the same operator domain as the IMS application server, or in a different one (e.g. an IMS client or an IMS application server of operator X issues a SIP request received by an IMS application server of operator Y).

This entity could also be a client or application server located in a non-IMS network, like an enterprise network or the Internet. A SIP request originated from outside the IMS and routed to it can be discriminated from an IMS-issued request, and the IMS application server can adapt its behavior to this origination. For instance, a request originated from the Internet was not authenticated by the IMS, and has to be processed accordingly.

In the second case, the IMS application server issues a SIP request to another SIP entity. This SIP request may be the consequence of the initial reception of a SIP request (first case), but it is not directly related to it. For instance, upon the reception of a call set up request for user A, the IMS application server issues an instant message to user A (or B). It may also be generated out of the blue, or through an initial interaction based on, e.g. web services or the access of a user to a web page. The SIP request may be addressed to an IMS client or IMS application server located in the same or a different operator domain (e.g. a service from operator X accesses the presence of an IMS user located in operator Y's domain). Alternatively, it may be addressed to a client or a server located in a non-IMS network, like an enterprise network or the Internet.

Note that, through the usage of appropriate gateways, the IMS application server may use SIP to interact with entities which do not reside in the IMS and do not support the SIP protocol.

IMS Application Server Receiving SIP Requests from the Network

SIP Roles

When an IMS application server receives a SIP request from the core network - request which may have been initiated by an IMS client, a non-IMS client or an entity in a non-IMS network - it may support one of four different roles.

Acting as a SIP User Agent, the IMS application behaves as an endpoint for the SIP request. The request may have been addressed to a service or service feature supported by the IMS application Server (typically when the request-uri is a Public Service Identity or PSI), or it may have been addressed to an IMS user (the request-uri is an IMS Public User Identity, also known as IMPU). In this latter case, the service logic hosted by the IMS application server decides to terminate the request on behalf of the user it is addressed to. This is typically the case for presence requests terminated at a presence server (the presence request is addressed to the user whose presence is sought). Other examples include a call termination service or an IMS messaging store that decide that the destination user cannot accept the call or the message right now.

Acting as a SIP redirect, the IMS application server will redirect the initiating party to another destination. I do not expect an IMS application server to extensively support this (feature-poor) role.

The IMS application may also decide to act as an intermediary in the end-to-end SIP interaction that takes place between two SIP entities (e.g. client to client, client to other AS, other AS to other AS, other AS to client).

Acting as a SIP proxy server, the IMS application server has very little opportunity to impact the end-to-end interaction. This behavior is adequate in cases where the AS hosts service logic that has to apply only prior to enabling the end-to-end interaction (e.g. authorization, target selection): the AS performs its logic, then lets end-to-end SIP signalling go on without any interference. It can also be used when the AS hosts service logic that monitors end-to-end SIP signalling without any intention to interfere.

When the AS hosts service logic that requires greater control on the end-to-end SIP interaction, it has to support the so-called routeing back-to-back user agent (routeing B2BUA) behavior. As a B2BUA, the AS acts as an endpoint to both parties in the SIP interaction. Doing so, it may decide to explicitly appear as an endpoint to them (by inserting a PSI as recipient / originator of the SIP interaction) or to remain transparent to the endpoints. Here are examples of situations where service logic needs to rely on a Routeing B2BUA role: need to modify the body of a SIP request (e.g. change a codec in session description), potential need to transfer a session during its course (e.g. to another party, to an announcement), need to insert a media plane intermediary in a multimedia session (e.g. to mix/adapt/control content, to insert advertizement).

I expect the latter example of the insertion of a media plane intermediary in an end-to-end multimedia session to be a fundamental IMS service use case in the future.

Direction of Requests

This is possibly the most important feature of the IMS service architecture when you want to integrate a non-IMS SIP application server with an IMS network, more especially in the context of VoIP services: the ISC interface (more especially the initial filter criteria that govern the forwarding of SIP requests over ISC) distinguishes between requests that originate from a certain IMS identity (IMPU or PSI) and those that terminate to this IMS identity. Moreover, it permits to distinguish between the case where the IMS identity is currently registered with IMS or not (only from 3GPP R7 for requests originating from a non-registered identity, i.e. requests initiated on behalf of a non-registered user by an IMS application server).

This architectural feature (shared with IN) permits to execute different service logic depending on the direction of a request. For instance, taking classical call control services, it permits to execute an outgoing call screening service only for originating call requests, and call forwarding services only for terminating call requests. It also permits to forward an IMS instant message to a store and forward messaging AS only in the case where the recipient of the message is currently not registered with IMS, and therefore unreachable through IMS connectivity.

A clear distinction between originating and terminating parties (and their respective services) is mandatory in a multi-operator environment, in which the parties might be subscribed to different operators. However, most of VoIP application servers that exist on the market today were implemented for a closed, single service provider, environment like the enterprise. They therefore tend to execute both originating and terminating services at once. Such a behavior is incompatible with the IMS service architecture, and must be corrected when the AS is ported on IMS. On the other hand, the direction of SIP requests is not a issue when porting a presence server on IMS (the presence logic depends on the SIP requests more than their direction).

Note that, while the direction of a request (originating, originating unregistered, terminating, terminating unregistered) is an information used to determine how SIP requests should be forwarded to IMS application servers, it is not specified how to convey this information in the SIP request that is to be forwarded. A typical approach to make the AS aware of the direction is to define a distinct AS SIP URI for each direction in the initial filter criterias (IFCs), or to add a specific parameter in the AS address. In both case, the information about the direction is made explicit when provisioning AS addresses for iFCs in the HSS.

Authentication

Authentication aspects are clearly described in section 5.7.1.4 of TS 24.229.

In short, a SIP request may originate from an authenticated identity that required privacy (it will be considered as "anonymous"), from an authenticated identity whose identity can be found in a 3GPP-specific header called P-Asserted-Identity, or from a non-authenticated identity (typically originating from a non-IMS network) that either set itself as "anonymous" or to a certain value. The IMS application server is then supposed to act according to the case it handles. For instance, if a non-authenticated identity was provided in the request, it may challenge it for authentication, typically in an Internet manner (e.g. using SIP digest). In another example, the AS may host service logic that applies to anonymous users or not.

Is is an important IMS feature, that SIP requests initiated from IMS entities are authenticated by the IMS core network, and that the authenticated identity is transported across IMS entities and IMS networks sharing a security trust relationship. This implies that a SIP request issued by a subscriber of operator X can reach an IMS application server from operator Y, without the need for the AS to authenticate the user, as it was already authenticated by operator X and the fact that it was authenticated as well as the authenticated identity are transported in the SIP request. This can be seen as a cross-network single sign on feature of the IMS network, that benefits all IMS services reached through SIP.

P-Headers

As already described in a previous post, a SIP request reaching an IMS application server includes a set of IMS-specific headers ("P-" headers) which are either important for the proper behavior of the IMS application server (e.g. the already mentioned P-Asserted-Identity header, the two headers related to charging) or which can benefit the logic it supports (e.g. information about the access technology currently used by the IMS client).

With the direction of the request, this is the other part of ISC which may require an evolution of a SIP application server to be ported on IMS.

What is Possible, What is Not

In the case where a SIP request initiates a dialogue (e.g. a session, subscription to events), the initial filter criterias and associated procedures at the S-CSCF may make that this request is forwarded to an IMS application server (or several). The IMS application server may either decide that it will only process this initial request (including the responses to it) or that it will process the whole dialogue initiated by this request until the end.

This means that the following cases are not possible:
- An AS cannot get involved in the middle of an ongoing dialogue: it has to be involved from the start.
- An AS cannot cherry pick the SIP signalling it wants. Either it handles the initial request and its responses, or it handles the whole signalling in the dialogue.
- Once it has decided to be involved in a dialogue past the initial request, an AS cannot drop an ongoing dialogue it is involved in before the end.

Any deviation from this approach would be a betrayal of core SIP routing procedures. This implies that what would be gained (an alleged flexibility in the relationship between the IMS core network and the IMS application layer) would be at the expense of the integrity of the SIP protocol, and everything it can bring to the delivery of next generation services.

This feature of the IMS service architecture is sometimes regarded as one of its "limitations". My belief it that those who think this is a limitation of the IMS service architecture are only projecting their own thinking limitations upon the IMS. They would like to engineer an IMS application layer exactly the same way they would engineer a circuit-switched application layer, instead of creating an application layer optimized around and making use of the unique features of IMS and the SIP protocol.

This feature also implies that the concept of "subsequent filter criteria", initially introduced in IMS specifications and never defined afterwards will never come to a reality, as they would violate the basic SIP routing procedures used over ISC. Subsequent filter criteria were introduced to mimic dynamic triggers in the Intelligent Network, which permit an application server to dynamically inform the switch about the events it is interested in.

Registration Case

The IMS application server may reeive 3rd party registration requests from the S-CSCF, indicating that an IMPU has registered/re-registered/de-registered with the IMS core network. this implies that in that case the AS acts as a SIP registrar.

As the 3rd party registration provides little details about the registration (for instance the capabilities of the IMS client are not provided), the IMS AS may need to automatically SUBSCRIBE to the registration event package asociated to the IMPU as soon as it has received the 3rd party REGISTER indicating it has registered.

IMS Application Server Initiating SIP Requests to the Network

An IMS application server can issue SIP requests on its own, without this request being tightly related to a request the AS previously received. The generated request might be a side effect of one or several SIP requests previously received by the AS, of interactions with an end-user performed through a non-SIP interface (e.g. web page, SMS), of interactions with a 3rd party service (e.g. web services), but these are only examples: anything can do, and the more intelligent the service is, the more spontaneous the generation of SIP requests can be.

SIP Roles

The IMS application server can act as a SIP User Agent. It is the initiator of the request and it will support the end-to-end SIP interaction with its SIP peer, whether this is an IMS client, an IMS application server, or another SIP entity outside of the IMS.

The IMS application server can also act as the 3rd party initiator of a dialogue between two other SIP endpoints, like two IMS clients or an IMS client and an IMS application server. In this case, the AS acts as an initiating back-to-back user agent (initiating B2BUA). This role can be used for example by a service to automatically set up a call between two users or implement a click-to-dial-back feature supported by a web page (the user clicks on a link to get called back by an operator. the service logic selects the operator and establishes the call between the two).

Note that an alternative way to implement 3rd party control is for the application server to use SIP REFER towards one of the SIP entities it wants to involve in the dialogue (e.g. the AS asks user A to set up a session with user B). This approach is simpler to implement from an application server perspective, as it does not require the usage of an initiating B2BUA, but it also requires the support of the REFER method by the SIP client, which is not a given in current SIP networks. The approach may also have an impact on how charging will be performed.

Originating IMS Identity

When it initiates a SIP request towards another IMS or non-IMS entity, the IMS application server (more precisely the service logic it hosts) has the choice between two possibilities.

The AS may act on behalf of an IMS user, and use an IMPU of this user as the identity initiating the request. Doing so, the AS can impersonate a user it serves, and for instance send an instant message or subscribe to the presence of a 3rd party just like the user would.

Note that this ability of an AS to issue a SIP request on behalf of a user (which may not be registered with the network at the time the request is initiated) is the reason why 3GPP had to introduce the initiating unregistered session case in the R7 specifications of initial filter criterias.

The AS may alternatively populate the P-Asserted-Identity header with a PSI, thus endorsing an identity associated with the service logic that initiates the request. For instance, an application server may initiate a request as a specific conference, voice mail account, or chat room.

Because it has a secure connection with the IMS core network and it is part of the IMS trust domain, the AS can directly set up the P-Asserted-Identity header with the IMPU of the user whose behalf it acts on or a PSI, ensuring that the IMS request was duly authenticated by the IMS network.

Routing of the Request

3GPP initially tended to be very restrictive about how the routing towards the IMS core network of a SIP request initiated by an AS could be performed. Fortunately, the latest specifications permit room for variants.

When the request is sent on behalf of a user, the AS may have to route the request to an S-CSCF serving the IMPU of the user, in order for originating services associated to the user to be executed (in this case the AS has to insert the "orig" parameter to indicate this is an originating request). The routing of the request to this S-CSCF might be direct, which implies that the AS knows the address of an S-CSCF serving the IMPU (possibly through a previously received request, or by retrieving it from the HSS via Sh), or through an entry point to the network serving the IMPU (which is less efficient but requires less knowledge from the AS).

Alternatively, and if the operator policy allows it, the AS may directly route the request to the network serving the destination address, thus bypassing potential originating services and charging procedures associated to the IMPU. This flexibility was not part of initial 3GPP ideas, but I always supported it as a simpler approach placing fewer constraints on the AS, and which is certainly adequate for some services.

The procedure for the case where the request is initiated by a PSI is similar, except that when the request is routed to an S-CSCF serving the PSI in order to apply originating procedures and execute originating services, the address of this S-CSCF is a priori static and can be configured in the AS (but it can also be retrieved from the HSS as well).

Note that the case where the AS has to route the request to a S-CSCF serving the IMPU or PSI requires an IMS-specific behavior that will impact non-IMS SIP application servers when they are ported on IMS.

P-Headers

This is another constraint associated to an IMS application server, and which needs to be considered when porting a non-IMS AS on IMS: the IMS AS is responsible for generating and inserting 3GPP-specific headers in the SIP request prior to forwarding it to the IMS core network.

Beside the already mentioned P-Asserted-Identity header, the AS has to insert a P-Charging-Vector header including a unique id for the transaction/dialogue (called icid) as well as an identifier for the network the request originates from (called orig-ioi). It will also have to process 3GPP-specific information coming from responses, like the identity of the terminating network (term-ioi).

Non-SIP Interfaces

Just a reminder: SIP is only one of the protocols that may be used by an IMS client to access an IMS application server. Therefore, this post is focusing on just one part of the inclusion of the IMS application server in its environment.

53 comments:

Arjun Roychowdhury said...

Congratulations on a fine blog. I am sure a lot of architects will find your postings useful. Best of luck on your relocation to Paris.

Christophe Gourraud said...

Many thanks for te kind words.
Christophe

Anonymous said...

Talking of application servers, The IMS-GWF is also an application server as viewed from the S-CSCF. It is used by the S-CSCF for online charging.So, will the S-CSCF execute the iFc for the IMS-GWF as a default step while serving pre-paid subscribers? I believe, we would need to configure the iFc for the IMS-GWF as having the highest priority for every pre-paid subscriber..then the S-CSCF can proceed further. I hope my understanding is not flawed.

Christophe Gourraud said...

Hi Aayush,

You are right: the IMS GWF can be seen as a SIP AS towards which SIP signalling for prepaid subscribers should be routed to.

This can be done, as for other SIP ASs, via an iFC of the highest priority to be part of the service profiles of prepaid users.

However, an alternative approach is to co-locate the IMS GWF with the S-CSCF and then use the fact that the charging node addresses for a subscriber (possibly including a charging node for real time charging) is part of the user profile retrieved by the S-CSCF from the HSS to have the S-CSCF directly communicate with the real time charging node via the Ro reference point (based on Diameter).

This direct support of Ro by the S-CSCF was originally the only option defined in the specifications before the IMS-GWF was added in the architecture.

I know that some operators require this integration for efficiency reason and that some IMS supplier support it.

More generally, it is remarkable that the flexibility of the IMS service architecture was used to implement as part of a SIP AS a functionality that is arguably more a core network function than an added value service.

A similar example is for the Voice Call Continuity function (VCC), specified as part of a SIP AS, while this function will eventually need to be offered to all users, as long as it will not be possible to ensure conversational media (voice or video) over all geographical areas through adequate radio access.

Similarly to the IMS GWF, I think that VCC will eventually require to be co-located with the S-CSCF as it becomes a core functionality of IMS rather than an added-value one offered to some subscribers.

Christophe

Anonymous said...

Yes..I also endorse your view completely. The IMS-GWF functionality is more of a core network job, rather than a VAS. Thanks.

Anonymous said...

Currently IMS is not providing any mechanism to identify a service to be executed on AS. Only information available is iFC stored on HSS.
More specifically, suppose if same AS is providing multiple services and there is no unique way to identify the service on the basis of iFC then on what basis the service identification can be taken place?
To elaborate on my question I take an example of two services call barring and call forwarding both hosted on the same AS. Both requires that initial invite routed to AS. So if a subscriber has taken only one of the services then there is no way to indicate the same through IFC, although same can be implemented in the service logic of AS.
Kindly clarify whether my understanding is right or in IMS there is way to identify such services.

Anonymous said...

Hi Aditya,
I have an input on your query..

If my Supplementary service AS is hosting services like call forwarding call barring or communication deflection etc, then I can define iFc's for all of them. As an example..the request URI call-barr@supp-service.com can be a SPT for the call barring service. Similarly, call-forward@supp-service.com can be a SPT for the call forward iFc in the user profile. I believe this can be the solution to your query. I will let Christophe elaborate more on this, whether i am right or not :)

Anonymous said...

Hi Christophe,
Thank you vey much for your valuable information. So usefull :)

we would like to develop an ip-sm-gw (ip-sms-gateway). IP-SM-GW will be viewed as a application server from the S-CSCF. I think it will be and end point.
I dont know wheder IP-SM-GW will be a sip client or a sip server. it will connet to S-CSCF, but how?

If possible could you please post about IP-SM-GW details?

Anonymous said...

WOW Darkwing..I was studying about the IP-SM-GW myself! Let me share what i have studied.Even though the IP-SM-GW is an IMS entity, it has to support the MAP functionality completely. This server will use the E/Gd interface to connect with the GMSC. The IP-SM-GW will be viewed as a MSC by the GMSC.

In addition to this, the IP-SM-GW has to maintain a lot of internal context. It has to maintain the association between the MSISDN, IMSI and the S-CSCF serving the IMS UE. It has to check whether the address of the SMS sender and recipient is valid or not. These addresses will need to be retrieved from the SIP headers of the IMS message. It will also need to store the subscriber data for the short message service and perform short message authorization similar to the one performed by the MSC. Apart from this, the IP-SM-GW will need to perform domain selection to choose the appropriate domain to deliver the SMS. After selection of the IMS domain, the message is delivered to the UE through the S-CSCF. If the IMS UE is not available at the time of message delivery, the S-CSCF sends an appropriate error value to the IP-SM-GW. If the message delivery fails, the IP-SM-GW will send a delivery report status to the HSS. The HSS will have to store the appropriate MWD i.e. the address of the SMSC which has to store the undelivered message. When the IMS UE becomes available through registration with the S-CSCF, the HSS will check the user’s MWD. If the MWD is not NULL, the HSS will send an ‘alert service centre message’ to the SMS-IWMSC (SMS interworking MSC). The SMS-IWMSC is function of an MSC capable of receiving a short message from within the PLMN and submitting it to the recipient service centre. Subsequently, the message will be delivered to the UE as per normal procedures. As an additional input to this discussion, when the UE will not be available to receive the SMS, the MWI (Message Waiting Indication) supplementary service will come into the picture in this scenario.

Whenever service level interworking has to be performed between SMS messages and IM messages, the IP-SM-GW has to decide whether to transform the message format or not, and perform this message transformation whenever needed. It also has to perform the authorization for service level interworking. Otherwise, SMS messages from the CS domain are delivered to the IMS UE in the form of a SMSIP message i.e. a short message encapsulated in a SIP message body.

Christophe Gourraud said...

To aditya (and aayush)

For me, the appropriate approach is to distinguish between two concerns:
1) Forwarding a SIP request to an AS that needs to process it, whether this is for one or several services.
2) Within the AS (or application layer), invoking the one or several services that need to be.

In your example, the AS hosts several services that are related to session control. There should be a single iFC to route the INVITEs to this AS.

Then, within the AS there must be support to determine which services need to be invoked, in which order, and how. This is the functionality I personally assign to the SCIM (see posts on this subject).

My approach permits to minimize traffic (a single forwarding to the AS instead of one per service).

It also permits to deal with service interaction issues within the AS (or between ASs in the application layer) using any appropriate means, beyond what can be done with iFCs and ISC.

Finally, it permits a clear separation of concerns between the core network (basically SIP routing) and the application layer (executing services). The core network can focus on doing rather systematic heavy duty tasks, while the ASs can support value added and differentiating functionality.

Christophe

Pk said...

Christophe,
Many thanks for such a wonderful and informative blog. I have tried to find a definitive answer for this, and figured I would get your slant on it. exactly how would/should call redirection (e.g. call forward busy, call forward no answer) to a voice/video messaging service occur in IMS? I have read 24.404 and if I assume that the "Voice Mail AS" gets a forwarded INVITE when the terminating user is provisioned for voice mail service and the the Voice Mail AS then attempts to complete the call by proxying the INVITE back to the terminating SCSCF. When the Voice Mail AS detects a failure condition (e.g. timeout) the Voice Mail AS is responsible for invoking a MRF with some VXML start page that represents the top of the Voice Mail IVR. While this seems "correct", I would think that many IMS Core vendors would be supplying their own 24.404 call diversion support, but then if this is the case, then what exactly is the role of the ISC interface on the Voice Mail AS, is it simply to extract user details from the INVITE, verify against Sh and then invoke the MRF?

Am I missing something here? Thanks a ton!

suresh said...

hi Christophe
i am developing the interfaces betwwen applicatin servers and IMS components ....
fist interface ISC it will give the presence information as well as registration state information by "presence","reg" event packages respectively...

here my doubt is what is the use of SH interface between the HSS and the application server

thank you

Jack Chrysler said...
This comment has been removed by the author.
Anonymous said...

[url=http://www.ile-maurice.com/forum/members/wetter-vorhersage.html][b]oliver wetter[/b][/url]

[url=http://www.ile-maurice.com/forum/members/wetter-vorhersage.html][b]wetter schottland[b][/url]

Anonymous said...

[url=http://www.ile-maurice.com/forum/members/wetter-vorhersage.html]die wetter[/url]

[url=http://www.ile-maurice.com/forum/members/wetter-vorhersage.html]wetter deutschland de[/url]

Anonymous said...

Hi.

A banks is a financial institution that accepts deposits and channels those deposits into lending activities. Bank primarily provide financial services to customers while enriching investors. Government restrictions on financial activities by banks vary over time and location. Bank are important players in financial markets and offer services such as investment funds and loans. In some countries such as Germany, bank have historically owned major stakes in industrial corporations while in other countries such as the United States bank are prohibited from owning non-financial companies. In Japan, banks are usually the nexus of a cross-share holding entity known as the keiretsu. In France, bancassurance is prevalent, as most banks offer insurance services (and now real estate services) to their clients.

The level of government regulation of the banking industry varies widely, with countries such as Iceland, having relatively light regulation of the banking sector, and countries such as China having a wide variety of regulations but no systematic process that can be followed typical of a communist system.[url=http://projectcontrol.v3host.nl]CLICK HERE[/url]

Titikshu Atoliya said...

Hello Christophe thanks for your very useful blog.

I was concerned with one problem though , while implementing different features on an application server which have the same Filter criteria on S-CSCF(for instance method - Invite)how will the application server deduce which service to apply for a IMS user?

vasu said...

hi I installed openIMSCore in FC10 and i am trying to verify with UCTIMSClient. but client is not able to register. The is error is coming like "ICMP Destination port unreachable" in wireshark trace.

please suggest me what can be the problem.
what configurations i need to set.

Call Forwarding said...

Nice topic you just shared with us. Thanks for sharing.

Unknown said...

Thanks for your blog.
I still have one doubt in the case of video call which is an end-to-end connection, do we need to use an Application Sever?

Thank you

theexilesclan said...

Quite worthwhile information, lots of thanks for your post.

Anonymous said...

If ѕomе onе desires to bе uрdateԁ with most up-to-dаte
tеchnοlogies afteг thаt he must be
visit this web ρage anԁ bе up to ԁate еѵеry daу.


Тake a look at my ωeb page :: same day payday loans
Also see my page > same day payday loans

Anonymous said...

discount ativan effects of ativan addiction - can ativan withdrawal cause seizures

Anonymous said...

Hі theгe evеryone, it's my first pay a visit at this website, and article is really fruitful designed for me, keep up posting these content.

Feel free to surf to my website :: quick loans

Anonymous said...

Overall, The paleo cookie recipe is a way of eating.

Fruits, vegetables, and fruits. The diet takes as its starting
point DNA evidence showing that antinutrients act
as endocrine disrupting substances, promoting metabolic syndrome20.



Feel free to visit my blog :: http://bennettforindiana.com/grain-free-tips-on-eating-right/

Anonymous said...

I really like what you guys are up too. Such clever work and coverage!
Keep up the fantastic works guys I've you guys to blogroll.

Here is my webpage :: Calories Burnt Walking

Anonymous said...

I really like what you guys are up too. Such clever work and coverage!
Keep up the fantastic works guys I've you guys to blogroll.

My homepage: Calories Burnt Walking

Anonymous said...

An spamdexing consultant that doesn't issue a timeline and a means of communicating information through writing. Each time you publish content within one of these methods is the most important. Because of that I paid closer attention to this mistake for the fourth essay and did my best. One way inbound links that point to your home page and 40% should point to your website instead of commenting high PR unrelated weblogs. The more I adhere to the rules! We know the technology is available.

Also visit my homepage ... seo report

Anonymous said...

I coulԁ not refrain from commenting.
Very well ωritten!

Feel frеe to visit my websіte ... Same Day Payday Loans

Anonymous said...

The belt makes use of gel pads postioned more than the center abdominals and the outdoors obliques.


Have a look at my web site :: http://usenews.net/gang/index.php?P=blogs/Viewstory/58875

Anonymous said...

Long-distance juice body detox are more common than many people think.
Acknowledging Commitment - If a man can foresee a future
with a woman, does he have ownership in the team? It is up to both of them, pronto!


Here is my website :: detox for your body

Anonymous said...

Parents, pediatricians, and psychologists know better. Buy
kids ben ten video games online with special discounts.
The more you practice, the better you'll be, and the largest one, Sony. What is especially tough for a games tester requires finding bugs while playing the same section or level for hours at a time. Typically, a game that the Army uses ben ten video games to train the part of the day playing ben ten video games.

Feel free to visit my web-site Sports video Games

Anonymous said...

This desіgn is spectaсular! Үou ceгtаinlу know how to κeер a гeader amuѕed.
Βеtωeen yοuг wit
аnd уоur ѵidеoѕ, ӏ was аlmost mοveԁ to stаrt my own blog (ωеll, almοst.
..HaHa!) Exсеllent јob.
Ӏ really enjoyеd whаt you haԁ to ѕay, and morе
thаn that, how уοu presented it.

Τоo сool!

Fеel fгee to visit my page; porte de garage sectionnelle hormann prix

Anonymous said...

What's up everyone, it's my first visit at this website, and piece of writing
is in fact fruitful for me, keep up posting these articles.


my site; renover parquet

Anonymous said...

Attractive section of content. I simply stumbled upon your web site and in accession capital to say that I get actually enjoyed account
your blog posts. Anyway I will be subscribing for your augment or even I success you get admission to constantly rapidly.


my web page :: bois exotique pour terrasse

Anonymous said...

For the reason that the admin of this site is working, no uncertainty very rapidly it will be well-known,
due to its quality contents.

Also visit my site ... volet roulant alu

Anonymous said...

Wow, wonderful weblog format! How long have you been
running a blog for? you made running a blog glance easy.

The whole glance of your website is magnificent, as smartly as the content material!



my web site :: prix d une porte fenetre en pvc

Anonymous said...

Marvelous, what a web site it is! This web site provides
helpful information to us, keep it up.

My homepage - devenir riche

Anonymous said...

Hi there, I log on to your new stuff regularly.
Your story-telling style is witty, keep up the good
work!

Also visit my blog: pose volet roulant

Anonymous said...

Hi to every single one, it's actually a good for me to pay a visit this web page, it consists of valuable Information.

my blog fenetre pvc occasion

Anonymous said...

Does youг blog have a сontact page?
I'm having problems locating it but, I'd like tо senԁ you an emaіl.
I've got some suggestions for your blog you might be interested in hearing. Either way, great site and I look forward to seeing it expand over time.

Feel free to surf to my web page porte de garage sectionnelle avec porte

Anonymous said...

Hello, i think that i saw you visited my blog thus
i came to “return the favor”.I'm trying to find things to improve my web site!I suppose its ok to use a few of your ideas!!

Stop by my blog post: devis porte fenetre pvc

Anonymous said...

I relish, result in I found just what I used to
be having a look for. You have ended my four day lengthy hunt!

God Bless you man. Have a nice day. Bye

My website parquet contrecollé pas cher

Anonymous said...

Every weekend i used to go to see this site, as i
want enjoyment, as this this web page conations in fact pleasant funny data too.



Feel free to visit my web-site ... porte fenetre pvc avec volet roulant

Anonymous said...

I relish, cause I found just what I was looking for. You've ended my 4 day long hunt! God Bless you man. Have a great day. Bye

Here is my blog post :: fenetre en pvc prix

Anonymous said...

Hi my loved one! I wish to say that this post is awesome,
nice written and come with approximately all important infos.
I'd like to see extra posts like this .

Look into my webpage :: terrasse en bois sur plot

Anonymous said...

Hi there Dear, are you truly visiting this site regularly,
if so then you will definitely obtain pleasant knowledge.


Here is my web blog :: phenixoption

Anonymous said...

Do you mind if I quote a couple of your articles as long
as I provide credit and sources back to your blog? My blog site
is in the very same area of interest as yours and my users would genuinely benefit from a lot of the information you provide
here. Please let me know if this ok with you.
Thanks!

Review my site :: lame de terrasse bambou

Anonymous said...

Great blog you have here.. It's hard to find high-quality writing like yours nowadays. I truly appreciate individuals like you! Take care!!

Feel free to visit my website - installer une porte de garage basculante

Anonymous said...

I am really loving the theme/design of your weblog.
Do you ever run into any browser compatibility problems? A handful of my blog readers have complained about
my site not working correctly in Explorer but looks
great in Opera. Do you have any advice to help fix this
issue?

Visit my web blog porte de garage coulissante sur mesure

Anonymous said...

[url=http://okazjeko.dreamwidth.org]Mega promocyjne[/url]



Various laws of the land include enforced by a few different gov departments and entities. When criminals are caught evading cash or doing fraudulent activities, their assets are seized and sold to you. This gives spike to state real estate from Internal Purchases Services and as a result agencies such as the US Marshall's office. These tend to be events to get absolute real estate gems.\n\n\n\nEven if you can still get a lot of G1 item at an affordable price, there are many equipment that may have and perhaps may be going just by the hallway in value. online auctions are your own personal best initial ante for finding G1 Transformers. Any thing is without question for sure, Transformers commodities is started nowhere in a act now. Between the oscillating fans of our own TV exposes and our own movies and in addition the memorabilia collectors, doing this franchise typically is secured to make many growth cycles to appear.\n\nWhether you end up with thought linked to selling your company pet within ebay, receive another solution, as you'll are not allowed when you need to sell everyday life animals on your eBay. This is because to do with the laws and regulations which give protection animals of any out and out aggression or wide variety of oppression.\n\nDealing with Me Page: - Anyone have a fantastic About Me page? If not you have got to get type as it is one of your best promotion tools you have on along with. If you do will need one you will should chek out it inside your auctions although from some About Me and my peers page boasts much hardly any restrictions as your several other eBay internet (for sample you will probably link towards your own website). If you'd like to encourage the development of yourself when eBay a new About People page will be the best for you to do the and relate to increase targeted traffic to ones About Me page is promote the fully.\n\nInsurance policy coverage auto sale are may be to acquire a great bargain on restored cars and simply trucks. In fact, the company Insurance A vehicle Auctions is regarded as the the commonly used researchers in this region with motor auction locations throughout the united states. The reputable company has remained with us since the early 1990s allowing a associated with auto promote services with regard to car owners, car buyers, and motor sellers. If you are searching for a good way to obtain a car at a cheaper rate, insurance save some cash deals ideal option!\n\nHouseholds . run under crisis using identity unquestionably stolen. All it takes is only 1 photo I.D. and their social well-being and over there goes their precious whole unabridged life. A scammer can naturally use who seem to information so that you setup your paypal page and all the funds delivered will turn into transferred up to a non legitimate paypal account. The fraudster would then be ready to take out all these money utilising paypals atm card feature. When buying EQ plat indicates of paypal, come up with sure the seller has a reputation score of a at least 1000 verified transactions. You will be also have the ability to uncover how prolonged the paypal account has already been created, the for longer the higher quality and less dangerous it would be.


Hiper super okazja

Unknown said...

I'm happy about everything you bring it very interesting and helpful, thanks
Signature:
download free descargar whatsapp gratis and download baixar whatsapp gratis online and descargar whatsapp , baixar whatsapp

Unknown said...

This is also a very good post which I really enjoyed reading. It is not everyday that I have the possibility to see something
kid games
friv2
unblocked games 77
juego de un show mas