Regex insertion

Discussion in 'Perl Misc' started by sil, Jul 18, 2007.

  1. sil

    sil Guest

    I need a regex of sorts that will replace ONLY the line:
    P-Asserted-Identity: <sip:+$fU@$tU;user=phone>

    with:
    P-Asserted-Identity: <sip:19998887777@1.2.3.4:5060> (from line 1)

    Here is my data:

    f:"Operations"<sip:
    19998887777@1.2.3.4:5060>;tag=3933ee6e1923de3601d9dab88b1dc4bf
    t:<sip:>
    m:<sip:0-d03365c213c46d247564@10.101.1.20:5060;transport=udp>
    i:bf52f59d069087948090769a8a98fcdd-469d50d7@1.2.3.4
    CSeq:21796 INVITE
    User-Agent: Asterisk PBX
    Max-Forwards:16
    Date: Tue, 17 Jul 2007 23:29:27 GMT
    Allow:INVITE,ACK,CANCEL,OPTIONS,BYE,REFER,SUBSCRIBE,NOTIFY
    c:application/sdp
    l:289
    Remote-Party-ID: <sip:+$fU@$tU>;privacy=off;screen=no
    P-Asserted-Identity: <sip:+$fU@$tU;user=phone>

    1 will always start with "f:"

    New packet should read:

    f:"Operations"<sip:
    19998887777@1.2.3.4:5060>;tag=3933ee6e1923de3601d9dab88b1dc4bf
    t:<sip:>
    m:<sip:0-d03365c213c46d247564@10.101.1.20:5060;transport=udp>
    i:bf52f59d069087948090769a8a98fcdd-469d50d7@1.2.3.4
    CSeq:21796 INVITE
    User-Agent: Asterisk PBX
    Max-Forwards:16
    Date: Tue, 17 Jul 2007 23:29:27 GMT
    Allow:INVITE,ACK,CANCEL,OPTIONS,BYE,REFER,SUBSCRIBE,NOTIFY
    c:application/sdp
    l:289
    Remote-Party-ID: <sip:+$fU@$tU>;privacy=off;screen=no
    P-Asserted-Identity: <sip:19998887777@1.2.3.4:5060>


    #!/usr/bin/perl

    my $sipPacket = 1;
    my @packetData = '';

    while ( my $line = <> ) {

    if ( $line =~ m/^From: <sip.*/ ) {

    if ( $sipPacket < 1 ){
    pwnPacket(@packetData);
    @packetData = '';
    }

    $sipPacket--;
    next;
    }

    push @packetData, $line;

    }

    sub pwnPacket {
    if ($_[1] =~ /From: <sip.*)(@)(.*)/) {

    # Confusion seeps in... How do I insert it into the 13 field...
    print "From: <sip:\1\2\3\r\nP-Asserted-
    Identity:";


    }
     
    sil, Jul 18, 2007
    #1
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. rajan

    Insertion delay

    rajan, Sep 17, 2004, in forum: VHDL
    Replies:
    1
    Views:
    3,593
    Mike Treseler
    Sep 18, 2004
  2. Boban Dragojlovic

    automatic insertion of controls on codebehind

    Boban Dragojlovic, Jul 23, 2003, in forum: ASP .Net
    Replies:
    4
    Views:
    408
    Boban Dragojlovic
    Jul 24, 2003
  3. Replies:
    2
    Views:
    493
    Jerry III
    Aug 11, 2003
  4. Replies:
    3
    Views:
    795
    Reedick, Andrew
    Jul 1, 2008
  5. sil

    Regex insertion

    sil, Jul 18, 2007, in forum: Perl Misc
    Replies:
    1
    Views:
    126
    Jens Thoms Toerring
    Jul 18, 2007
Loading...

Share This Page